我的团队必须在localnethtml/js应用程序和同一网络中监听websocket的服务器之间共享数据。第一个想法是简单地用get将变量发送到服务器
http://192.168.1.100:8080/var=hello
它简单有效,但我们必须为数据交换添加一个安全级别,在Aes中对所有内容进行加密,然后将结果作为纯字符串发送。
我们发现的最好的解决方案是CryptoJShttps://code.google.com/p/crypto-js/我们可以按照示例对同一js块内的数据进行加密/解密,但无法在另一个软件上解密数据。
我们做:
var text = "Message";
var password = "Secret Passphrase";
var encrypted = CryptoJS.AES.encrypt(text, password);
var EnText = encrypted.ciphertext; //returns the hexed/encrypted text
var Key = encrypted.key;
它不适用于服务器上运行的c#代码,所以我们尝试了一个在线解密工具http://aes.online-domain-tools.com/传递密码和密钥,但类似地返回不可读的文本
JS生成的参考值
EnText: 5768c9b4d75e0cc32b610d9e6f518c36
Key: 005e316192f5162f7fd104ce2c9fe91de6c6f2977849dcd5878226022a7073be
我们缺少什么?
好的,我得到了,文本是十六进制的。尝试在那里取消键入:
http://www.unit-conversion.info/texttools/hexadecimal/