我获得的所有信息均为加密data
(AES)和key
。数据必须是URL。我尝试了很多代码片段(来自stackoverflow),并找到了一个对我有用的代码片段。
// Decode the base64 data so we can separate iv and crypt text.
var rawData = atob(data);
var iv = btoa(rawData.substring(0,16));
var crypttext = btoa(rawData.substring(16));
// Decrypt...
var plaintextArray = CryptoJS.AES.decrypt(
{
ciphertext: CryptoJS.enc.Base64.parse(crypttext),
salt: ""
},
CryptoJS.enc.Hex.parse(key),
{ iv: CryptoJS.enc.Base64.parse(iv) }
);
// Convert hex string to ASCII.
function hex2a(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2)
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
return str;
}
console.log(hex2a(plaintextArray.toString()));
网址必须为
http://test-example.com/hjhdsdfuisd
但输出只有
-example.com/hjhdsdfuisd
。
var crypttext = btoa(rawData.substring(16));
var crypttext = btoa(rawData);
ô#XÍäÜ7±H4-example.com/hjhdsdfuisd
。
我的错误是什么?