起初,通过 ruby(我使用的是 Rails),我在服务器端制作了AES256加密和base64编码的字符串。
require 'aes'
# encrypt with AES256 and encode with base64
base64 = AES.encrypt("secret word", "pass")
然后,我想在浏览器上使用以下库对此进行解码。
我的 JavaScript 代码如下。
base64encoded = $('span.base64:first').text();
encrypted = Base64.decode(base64encoded); // <- bring Error!
secretWord = CryptoJS.AES.decrypt(encrypted, "todo").toString(CryptoJS.enc.Utf8);
错误是:Uncaught Error: InvalidCharacterError: DOM Exception 5
我想在服务器端加密时会生成一些浏览器的无效字符。请告诉我如何避免这个错误。