Ruby,如何将字符串转换为RSA公钥

时间:2018-06-11 10:53:28

标签: ruby string encryption casting rsa

我需要使用RSA加密来编码消息。我将私钥和公钥存储在两个单独的文本文件中,但我只能编写一条消息。我需要一种方法将字符串转换为RSA密钥,以便我可以解码消息。

到目前为止我的代码:

require 'openssl'
require 'base64'


if File.exist?("./pub_key.txt")

  #Keys are strings, I can encrypt but not decrypt a message
  pri = File.read("./pri_key.txt")
  pub = File.read("./pub_key.txt")

  puts pub

  string = 'Hello World!';

  rsa_public_key = OpenSSL::PKey::RSA.new(pub)
  encrypted_string = Base64.encode64(rsa_public_key.public_encrypt(string))

  puts encrypted_string 

  # This throws an error
  # Because 'pri' is a string, don't know how to cast it to the right type
  #my_string = pri.private_decrypt(Base64.decode64(encrypted_string))

  puts "The decoded message"
  #puts my_string


end

1 个答案:

答案 0 :(得分:2)

我修复了代码

原来我只需要这一行:

<button class="btn general">Login</button>
<button class="btn general sidebar">Toets Button</button>

完整的工作代码

rsa_private_key = OpenSSL::PKey::RSA.new(pri)

感谢您的时间!橡皮鸭编程工作:)