まず、Ruby (Rails を使用) で、サーバー側でAES256暗号化とbase64エンコードの文字列を作成しました。
require 'aes'
# encrypt with AES256 and encode with base64
base64 = AES.encrypt("secret word", "pass")
次に、以下のライブラリを使用してブラウザでこれをデコードしたいと思います。
- Base64: https://github.com/dankogai/js-base64
- CryptoJS: https://code.google.com/p/crypto-js/
私の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
サーバー側で暗号化する際に、ブラウザの無効な文字が生成されたのだと思います。このエラーを回避する方法を教えてください。