Crypto Js (クライアント側) と OpenSSL (サーバー側) で AES-256-CBC を使用してテキストを暗号化しようとしていますが、異なる結果が得られます。これは、サーバー側で暗号化されたテキストをデコードできず、クライアント側でその逆ができない理由を説明しています。
これが私がやっている方法です:
クライアント側 (Crypto JS) - 編集済み
iv = CryptoJS.enc.Base64.parse("kT+uMuPwUk2LH4cFbK0GiA==")
key = CryptoJS.enc.Hex.parse("6476b3f5ec6dcaddb637e9c9654aa687")
encrypted_text = CryptoJS.AES.encrypt("test", key, {mode: CryptoJS.mode.CBC, formatter : Base64Formatter, iv : iv})
encrypted_text => "7Qu7/V7yXHt67wMOV0/1Tg=="
サーバー側 (Rails OpenSSL) - 編集済み
iv = Base64.decode64("kT+uMuPwUk2LH4cFbK0GiA==")
key = "6476b3f5ec6dcaddb637e9c9654aa687"
cipher = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
cipher.encrypt
cipher.key = key
cipher.iv = iv
text = cipher.update("test") + cipher.final
encrypted_text = Base64.strict_encode64(text)
encrypted_text => "fHhNBuopuuthdq2SFvvgDw=="
誰かが私が間違っていることについて何か考えがありますか? 私はこの時点で困惑しています。
ヘルプは大歓迎です..ありがとう!
ポール