C#Aes ecb pkcs5pad

时间:2015-05-04 09:47:00

标签: c# php encryption aes

我需要一个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 );
}

可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

这个库似乎提供了你需要的东西:

http://www.bouncycastle.org/csharp/

从功能列表中:

对称密钥填充:ISO10126d2,ISO7816d4,PKCS#5/7,TBC,X.923和零字节。