【问题标题】:Zip and Encrypt Files in memory Ruby/Rails压缩和加密内存中的文件 Ruby/Rails
【发布时间】:2013-02-21 10:29:15
【问题描述】:

我试图压缩一些文件并用密码保护它们。 这里的问题是我无法将文件保存在磁盘上。

我尝试使用 Rubyzip。但是好像不支持文件加密。

我尝试使用 Zipruby,但它只允许加密磁盘上已有的文件。 (我不确定这一点,但我无法在内存中找到一种方法)。

我想用 Ruby 压缩和加密内存中的文件。

【问题讨论】:

  • 好的。那么问题是什么?
  • 我想用 Ruby 压缩和加密内存中的文件。

标签: ruby-on-rails ruby encryption zip


【解决方案1】:

Zipruby 包含执行此操作的工具:

zipinmem = Zip::Archive.open_buffer(buf, Zip::CREATE) do |ar| #create zip
  ar.add_buffer('bar.txt', 'baz')
end
Zip::Archive.open_buffer(zipinmem) do |ar|
  ar.add_buffer('thing.txt', "We're modifying the archive in memory!")
end

参见第五部分的documentation

【讨论】:

  • 但是如何在不保存的情况下加密这个缓冲区呢?由于文件在同一文档的第 4 节中加密。
  • @Harshac:在其中一个 zipruby 块中,调用 ar.encrypt('password')
  • 它没有加密,但甚至没有引发 NoMethodError !
  • 是的。我在 ruby​​ 1.8.7 和 rails 3.0
  • 从文档看来这是可能的;但是,实际上它不起作用。使用“open_buffer”中的存​​档对象时,“encrypt”方法返回 true,但实际上并不加密 ZIP 存档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 2013-07-08
相关资源
最近更新 更多