【发布时间】:2015-01-21 12:13:23
【问题描述】:
所以,我使用 Websockets 开发了一个用户聊天,在服务器上使用 ASP.MVC。
我想加密从 websockets 发送和接收的所有消息(使用 AES)。为此,我尝试在发送之前加密用户消息(使用 Crypto.js)并在服务器上对其进行解密(使用 Security.Cryptography .net)。 p>
问题是客户端上的加密消息与服务器上的加密消息不同(消息、密钥和初始化向量在客户端和用户上是相同的)。
这是进行 websockets 消息加密的好方法吗?您还会推荐我哪些其他解决方案?
CryptoJS:
var encrypted = CryptoJS.AES.encrypt("Message", communicationKey, { iv : communicationIV}, { mode: CryptoJS.mode.CFB });
.NET 密码学:
byte[] encryptedMessage = EncryptStringToBytes_Aes(decryptedMessage, keyToDecrypt, ivToDecrypt);
return Convert.ToBase64String(encryptedMessage);
Crypto.js 加密字符串是:
U2FsdGVkX18wnoGfYzHo2Ms/6CKsRC+cE1fj8ylSPlI=
.NET 的 Security.Cryptography 是:
kLApirWt1VcVu3tTuAizgA==
我在两边都使用相同的键和初始化向量。可能是什么问题?
【问题讨论】:
标签: javascript .net asp.net-mvc encryption cryptography