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的原因。如果我的答案缺乏,我希望有機會改進它。 –
剛剛測試過我的目的,它的功能就像一個魅力,非常感謝! –