【问题标题】:How do I decrypt files that are encrypted using des command in Ruby?如何解密在 Ruby 中使用 des 命令加密的文件?
【发布时间】:2019-11-06 12:44:48
【问题描述】:

我需要解密使用此命令加密的文件:

des -E -u -k "some key" file.in file.out.enc

Ruby中的解密代码:

def decrypt(key)
  cipher = OpenSSL::Cipher.new(‘des’).decrypt
  cipher.key = key

  File.open(‘file.out’, ‘wb’) do |outf|
    decrypted = cipher.update(File.read(‘file.in.enc’)) + cipher.final
    outf.write(decrypted)
  end
end

当我运行上面的代码时,我得到了错误的最终块长度错误。我还尝试使用 openssl 命令行工具进行解密,结果出现了错误的幻数错误。有什么建议吗?

【问题讨论】:

    标签: ruby encryption openssl des


    【解决方案1】:

    尝试切换模式,从CBCECB,例如使用OpenSSL::Cipher.new('DES-ECB')

    如果您通过查看OpenSSL::Cipher.ciphers 来检查您的 Ruby 安装支持哪些密码,您也会找到可用模式列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-27
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      相关资源
      最近更新 更多