特定のフィールド値を暗号化してDBに保存する必要があります。Ruby用のRSA暗号化を使用しました。暗号化して保存することはできましたが、復号化中に問題が発生しました。私がやったことは次のとおりです、
key_pair = RSA::KeyPair.generate(512)
key_pairを別の列に格納しました。
ciphertext = key_pair.encrypt("Hello, world!")
同じテーブルの別の列に暗号文を格納しました。
復号化中に、データベースからkey_pair値をフェッチし、復号化機能を適用しました
plaintext = key_pair.decrypt(ciphertext)
このステップはエラーをスローします
NoMethodError: undefined method `decrypt' for <String:0xa431b88>
「key_pair」は「RSA::KeyPair」のインスタンスではないためです。
保存された値を復号化しようとすると、データベースからkey_pair値をフェッチし、それに復号化メソッドを適用します。したがって、key_pair値にはStringクラスがあります。解決する方法が必要です。案内してください。