0
我必须加密特定字段值并存储在数据库中。我已经使用Ruby的RSA加密。我能够加密并保存,但在解密时,我面临问题。我所做的如下,无法使用RSA.rb解密字符串:用于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的”一个实例::密钥对”。
当我尝试解密存储的值时,我从数据库中获取key_pair值,然后在其上应用解密方法。所以key_pair的值有String类。我需要一种解决方法。请指导我。
你已经收到来自DB密钥对,但不是对象,它是RSA密钥对::的一个实例,并且有一个'decrypt'方法 – ted