在Javascript中使用AES加密文本,然后在C#WCF服务中解密
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Javascript中使用AES加密文本,然后在C#WCF服务中解密,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1662字,纯文字阅读大概需要3分钟。
内容图文
![在Javascript中使用AES加密文本,然后在C#WCF服务中解密](/upload/InfoBanner/zyjiaocheng/733/6078a7ac79d04707940247d4df482914.jpg)
我正在尝试使用AES 128位加密来加密字符串.我有Javascript和C#的代码.主要目标是使用Javascript CryptoJS加密字符串,然后获取生成的密文并使用C#AES AesCryptoServiceProvider解密它.
Javascript代码:
function EncryptText()
{
var text = document.getElementById('textbox').value;
var Key = CryptoJS.enc.Hex.parse("PSVJQRk9QTEpNVU1DWUZCRVFGV1VVT0=");
var IV = CryptoJS.enc.Hex.parse("YWlFLVEZZUFNaWl=");
var encryptedText = CryptoJS.AES.encrypt(text, Key, {iv: IV, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7});
//var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
var encrypted = document.getElementById('encrypted');
encrypted.value = encryptedText;
}
C#代码:
private String AES_decrypt(string encrypted)
{
byte[] encryptedBytes = Convert.FromBase64String(encrypted);
AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
aes.BlockSize = 128;
aes.KeySize = 256;
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.Pkcs7;
aes.Key = Key;
aes.IV = IV;
ICryptoTransform crypto = aes.CreateDecryptor(aes.Key, aes.IV);
byte[] secret = crypto.TransformFinalBlock(encryptedBytes, 0, encryptedBytes.Length);
crypto.Dispose();
return System.Text.ASCIIEncoding.ASCII.GetString(secret);
}
当使用“hello”作为javascript的纯文本时,我得到这个密文:
uqhe5ya+mISuK4uc1WxxeQ==
将其传递到C#应用程序时,运行Decrypt方法时我收到:
Padding is invalid and cannot be removed.
我在这里难过,并尝试了许多解决方案导致相同的错误.
通过C#加密AES方法加密hello时,我收到:
Y9nb8DrV73+rmmYRUcJiOg==
我提前感谢你的帮助!
解决方法:
尝试使用var Key = CryptoJS.enc.Utf8.parse(“PSVJQRk9QTEpNVU1DWUZCRVFGV1VVT0 =”);而不是HEX.
因为实际上你放入密钥(和IV)并解析的字符串不是十六进制字符串.十六进制是0到F.
内容总结
以上是互联网集市为您收集整理的在Javascript中使用AES加密文本,然后在C#WCF服务中解密全部内容,希望文章能够帮你解决在Javascript中使用AES加密文本,然后在C#WCF服务中解密所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。