【发布时间】:2020-07-12 15:35:39
【问题描述】:
我目前正在从事一个项目,我将在文本文件中存储用户数据。我想使用 Ruby 中的 OpenSSL 库加密这些文件。我能够使用随机创建的密钥和 iv 值加密文件。由于该程序不会在服务器上运行,而是在本地运行,我想使用密码导出这些值,以便其他方法可以解密信息。
require "openssl"
cipher = OpenSSL::Cipher::AES256.new(:CBC)
cipher.encrypt
key = cipher.random_key
iv = cipher.random_iv
encrypted = cipher.update("test.txt") + cipher.final
File.open("temp.txt", "w+") do |file|
file.write(encrypted)
end
如果我不使用随机密钥,它不会加密信息或返回错误。
'update': key not set (OpenSSL::Cipther::CipherError)
当我尝试使用导出命令(带有随机键)时,我也收到一条错误消息,指出它不是一种方法。
'export' for #<string:0x00000000065659b8> (NoMethodError)
【问题讨论】:
-
新手建议:请看How to Ask a Good Question。如果您遵循该指南,将更容易回答您的问题。
标签: ruby encryption openssl