OpenSSL::PKey::RSA
を使用して、秘密鍵を使用してデータ文字列を暗号化/復号化しています。暗号化されたデータをテーブルの列に文字列として格納しています。私はBase64.encode64
とBase64.decode64
を使って問題なく動作するように実装しました。しかし、暗号化されたデータをベース64として保存したくないので、文字列に16進数として格納したいと思います。私は現在、暗号化されたデータを保存するために、次を使用していRSA暗号化データを16進数で保存する
:
encrypted_data = pk.private_encrypt(plain_data).unpack('H*').first
これは、簡単に自分のデータベースに格納する怒鳴る、のような文字列に等しいencrypted_Data
になります。
d70db8c36d6ccbadd1cca1263ff140df24e0112f636ac9ea92c28f27e443496c
私の問題は、この16進文字列をデータの復号化に必要なバイナリ文字列に戻すことになりました。私はいくつかの異なるアプローチを試してきましたが、うまくいかないようです。
この16進文字列を復号化する最も簡単な方法は何ですか?
これはバイナリに戻っているようですが、私はこのエラーが発生したので正しいとは思いません: 'OpenSSL :: PKey :: RSAError(パディングチェック失敗)' – Jared