在JS和C#之间共享加密数据,用于虚拟对象

时间:2014-10-28 12:40:39

标签: javascript cryptojs

我的团队必须在localnet html / js应用程序和同一网络中的服务器之间共享数据,并在websocket上进行监听。 第一个想法是简单地使用get

将变量发送到服务器
http://192.168.1.100:8080/var=hello

它很简单且有效,但我们必须在数据交换中添加安全级别,在Aes中加密所有内容,然后对结果进行十六进制以将其作为纯字符串发送。

我们找到的最佳解决方案是Crypto-JS https://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

我们缺少什么?

1 个答案:

答案 0 :(得分:0)

好的,我知道了,文字是十六进制的。 尝试在那里decyphering:

http://www.unit-conversion.info/texttools/hexadecimal/