サーバーコード:
cipher = createCipher('aes128', 'password');
str = cipher.update('message', 'utf8', 'base64');
str += cipher.final('base64')
クライアント コード (ブラウザー) に上記と同じアルゴリズムを持たせ、同じメッセージとパスワードを指定すると、サーバーと同じ出力が生成されるようにします。
CryptoJS
、SJCL
および他のいくつかのライブラリを試しましたが、それらは および を使用iv
しsalt
ているため、結果がまったく異なります。私の状況では、そのセキュリティは必要ありません。
iv
(正確には何がであるかはわかりませんsalt
が、それらがなくてもコードが機能することを願っています。)
更新:暗号化自体の適切な知識がなければ、この方法で関数を使用することは大きな間違いであることがわかりました。ドキュメントごと:
password は、「バイナリ」でエンコードされた文字列またはバッファである必要があるキーと IV を導出するために使用されます。
最初にいくつかの基本を学びます。