1
我很难在Ruby中使用GPGME加密大文件(大于可用内存)。Ruby GPGME - 如何加密大文件
#!/usr/bin/ruby
require 'gpgme'
def gpgfile(localfile)
crypto = GPGME::Crypto.new
filebasename = File.basename(localfile)
filecripted = crypto.encrypt File.read(localfile), :recipients => "[email protected]", :always_trust => true
File.open("#{localfile}.gpg", 'w') { |file| file.write(filecripted) }
end
gpgpfile("/home/largefile.data")
在这种情况下,我得到了内存分配错误: “读:无法分配内存(NoMemoryError)”
有人可以解释我如何读取数据块的源文件块(例如100Mb),并写他们通过加密传递?
我只是使用gpgme,这是我如何做,所以它应该工作(虽然我使用的是File.open的块形式) –
亲爱的downvoter:请留下评论,解释你downvote的原因。如果我的答案缺乏,我希望有机会改进它。 –
刚刚测试过我的目的,它的功能就像一个魅力,非常感谢! –