我必须加密一个特定的字段值并存储在数据库中。我已经为 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 类。我需要一个方法来解决。请指导我。