我需要一个AES函数来加密/解密模型ecb,PKCS5Padding使用对称密钥(使用AES参数创建128位)
但是从那以后我遇到了一些问题 在c#中的im noob
php中的是近似的,我需要在ASP.net中创建(c#):
pkcs5 pading:
function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
编码AES(ecb-pkcs5pad)的功能, $ data是数据编码:
function base64_encode_encrypt_aes_ecb_pkcs5pad($data, $sim_key) {
return trim ( base64_encode ( mcrypt_encrypt ( MCRYPT_RIJNDAEL_128, $sim_key, pkcs5_pad ( $data, mcrypt_get_block_size ( MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB ) ), MCRYPT_MODE_ECB, mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB ), MCRYPT_RAND ) ) ) );
}
获取sim_key(对称密钥)
function gen_sim_key() {
return substr ( md5 ( uniqid ( microtime () ) ), 0, 16 );
}
可以帮助我吗?
答案 0 :(得分:0)
这个库似乎提供了你需要的东西:
http://www.bouncycastle.org/csharp/
从功能列表中:
对称密钥填充:ISO10126d2,ISO7816d4,PKCS#5/7,TBC,X.923和零字节。