Sha256: 70d99a1c47c5918624ef88bf33812e96e2b8233e1ceb8c995aa759955beb447e
Contents?: true
Size: 932 Bytes
Versions: 9
Compression:
Stored size: 932 Bytes
Contents
module Digest class Base def initialize(algo) @digest = FlowDigest.digestWithAlgo(algo) end def update(str) @digest.update(str.to_data) self end def reset @digest.reset self end def digest data = @digest.digest ptr = data.bytes digest = '' data.length.times do |i| byte = ptr[i] digest << '%02x' % byte end digest end # To be called from subclasses. def self.digest(str) self.new.update(str).digest end end class MD5 < Base; def initialize; super('MD5'); end; end class SHA1 < Base; def initialize; super('SHA1'); end; end class SHA224 < Base; def initialize; super('SHA224'); end; end class SHA256 < Base; def initialize; super('SHA256'); end; end class SHA384 < Base; def initialize; super('SHA384'); end; end class SHA512 < Base; def initialize; super('SHA512'); end; end end
Version data entries
9 entries across 9 versions & 1 rubygems