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 和零字节。
我需要一个 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 和零字节。