C# Aes ecb pkcs5pad

C# Aes ecb pkcs5pad

我需要一个 AES 函数 encrypt/decrypt 使用模型 ecb,PKCS5Padding 使用对称密钥(使用 AES 参数创建的 128 位)

但我遇到了一些问题,因为 我是 c#

的菜鸟

in php 与此近似,我需要在 ASP.net(c#):

中创建

pkcs5 填充:

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 );
}

可以帮我吗?

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

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

来自功能列表:

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