Sha256: 0a1645ce86c94b2618d5b15b9460c963e94a3c85f96e9e896871b4ece1ef0b33
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
require_relative 'error' require_relative 'io_utils' require_relative 'provider' require_relative 'global' #require_relative 'secretkey' module GcryptoJce module Digest def generate(opts = { }) digest = opts[:digest] || :sha256 digest = digest.to_s.upcase if not (digest.nil? or digest.empty?) is = IoUtils.load_input(opts) prov = GcryptoJce::Provider.handle_options(opts) if prov.nil? md = java.security.MessageDigest.getInstance(digest) else md = java.security.MessageDigest.getInstance(digest,prov) end begin bufConf = opts[:int_buf] || { } total = 0 IoUtils.read_chunk(is, bufConf) do |buf, from, len| md.update(buf, from, len) total += len GcryptoJce::GConf.instance.glog.debug "Processed #{NumberHelper.number_to_human_size(total)}" end val = md.digest String.from_java_bytes(org.bouncycastle.util.encoders.Hex.encode(val)) rescue Exception ensure begin is.close rescue Exception end end end # end method generate() # end # end module Digest # class DigestEngine extend Digest end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gcrypto_jce-0.2 | lib/gcrypto_jce/digest.rb |
gcrypto_jce-0.1 | lib/gcrypto_jce/digest.rb |