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