簡體   English   中英

我的CryptoJS加密/解密無法正常工作

[英]My CryptoJS encryption/decryption is not working

我有一個JSON數組的數組,其值我試圖用CryptoJS加密,然后打印用於另一個文件,其中這些值應該使用用戶給定的密碼來解密。

但我做錯了什么,我在解密URL時得到“未捕獲的錯誤:格式錯誤的UTF-8數據”。

encrypt.js:

var encrypted = CryptoJS.AES.encrypt(item[key], pass);
json[j] += encrypted.ciphertext.toString(CryptoJS.enc.Base64);

decrypt.js:

var decrypted = CryptoJS.AES.decrypt(item[key], pass);
html += '<a href="' + decrypted.toString(CryptoJS.enc.Utf8) + '" target="_blank" class="socialico ' + key + '">' + icons[key] + '</a>';

我按照這個例子......幫忙,好嗎?

該錯誤消息通常意味着數據未正確解密,並且生成的明文字節不會形成有效的UTF-8字符。

要檢查幾件事:

  • 首先,確保使用相同的密碼進行加密和解密。 您可能希望保留正確密碼的哈希值,以便在用戶進行解密之前驗證用戶是否提供了正確的密碼。
  • 其次,確保值item[key]是加密前的字符串。 CryptoJS無法加密JSON對象。 你必須先將它序列化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM