使用Ruby时用于大型二进制文件的SHA256值



我想要一些大型二进制文件的SHA256值。使用Ruby可以做到这一点吗?Digest::SHA2似乎不能像预期的那样使用字符串而不是文件。

文件在磁盘上吗?-我只想使用另一个实用程序调用shell,并避免将其读取到Ruby运行时内存中,例如使用Open3+sha256sum

文件是否通过IO(如网络(?-在IO对象上使用流读取并以块计算SHA

例如:

sha = Digest::SHA2.new
File.open(file_path) do |f|
while chunk = f.read(256) # only load 256 bytes at a time
sha << chunk
end
end
sha.hexdigest # returns what you want

最新更新