AES解密后是乱码,但是java解密就正常
public string data = "8D2948A6EB27C9AD4CFACC5EF90ADD5ABADED6422B883FCCB46EDAA573866B566D913455C8018EA8494FE234FFAB83F53A61CC5F3C67EAD40D7C5A5EE3FF3141F5BF223BFEC50A7A862D21C16AE147391C639F433942F4D373F7E3C6A20665B65F3AB3A1380EAE3BB7BAEE45C071226F94A75F133CDA63492622C3144AAAD9168244D9553E5755C952A12F990EC4E92612283A376D9558291F330DE9123046F2EA5166B496E266EBCA96A228C3E724E84D9A74C6499C80BDC4BF23B0735509579D34C03FBD6746B89F0957352A5A38ED16F5307547D072D71C57FAE4CEA073602EC6A7AFA3D1E23D4A59F5381CA9F6C151A99F5D38FE22CBC3C55FC49A697D559035D6B63459D00DA10CFA25CF8026F8477F39FD3D7B7316BE0218183279ABFC";
public string key = "1833ad3ad741456db435163fc5de7e76";
解密代码:
public static string AesDecrypt(string str, string key)
{
if (string.IsNullOrEmpty(str)) return null;
Byte[] toEncryptArray = Convert.FromBase64String(str);
Byte[] keyArray = new byte[32];
keyArray = System.Text.UTF8Encoding.UTF8.GetBytes(key);
System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
{
Key = keyArray,
Mode = System.Security.Cryptography.CipherMode.ECB,
Padding = System.Security.Cryptography.PaddingMode.Zeros
};
System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();
Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Encoding.UTF8.GetString(resultArray);
}
public string key = "1833ad3ad741456db435163fc5de7e76";
解密代码:
public static string AesDecrypt(string str, string key)
{
if (string.IsNullOrEmpty(str)) return null;
Byte[] toEncryptArray = Convert.FromBase64String(str);
Byte[] keyArray = new byte[32];
keyArray = System.Text.UTF8Encoding.UTF8.GetBytes(key);
System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
{
Key = keyArray,
Mode = System.Security.Cryptography.CipherMode.ECB,
Padding = System.Security.Cryptography.PaddingMode.Zeros
};
System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();
Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Encoding.UTF8.GetString(resultArray);
}
...全文
相关推荐
JAVA实现AES加密和解密
1.采用秘钥为16位长度的加密字符 2.加密算法为AES/ECB/PKCS5Padding 3.解决加解密乱码问题 4.完整的线上可运行代码及各方法及步骤注释 5.无任何插件,java环境直接运行
jsp,java中文乱码问题另类解决方案,jni加密、解密编码
jsp,java中文乱码问题另类解决方案,jni加密、解密编码
JAVA加密解密AES算法
AES 算法模式 密钥长度 密钥 密钥偏移量 补码方式 加密结果编码方式,支持以上参数,支持2进制转16进制,二进制转Hbase64加密方式以及解密方式
AES加密工具 java 语言
AES加密工具 解决中文乱码问题 加密秘钥长度无限制 AES加密工具 解决中文乱码问题 加密秘钥长度无限制 AES加密工具 解决中文乱码问题 加密秘钥长度无限制
java AES加密 解决加密过长非法异常问题
AES加密的两种方式。一种String 一种byte。并且添加进制转换解决加密过程非法报错问题


