0
我试图使用加密文本WebCrypto。我将结果转换为utf8字符串,然后将其转换为十六进制。加密/解密工作。但是,我想将数据转换为十六进制。当我尝试转换为十六进制并返回时,结果不同。从UTF8转换为十六进制和背部使用Javascript
这里的小提琴(使用铬):https://jsfiddle.net/yxp01v5g/
测试代码是在这里:
var text = "hello world";
var key = App.crypto.generateKey(16);
App.crypto.encrypt(text, key, function(encryptedText, iv){
console.log("encrypted text:", encryptedText, "iv", iv);
var encryptedTextHex = convertUtf8StringToHex(encryptedText);
console.log("encrypted text hex", encryptedTextHex);
var backToUtf8 = convertHexToUtf8(encryptedTextHex);
console.log("Back to utf8", backToUtf8);
console.assert(encryptedText == backToUtf8);
})
正如你所看到的,我走的是结果,将其转换为十六进制,然后将其转换回UTF8,希望它等于原来的结果。但是,事实并非如此。
谁能告诉我这到底我做错了吗?
感谢,没有测试但尚未看起来不错。 – Snowman