summaryrefslogtreecommitdiff
path: root/ruby_2_2/ext/digest/sha2/lib/sha2.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_2_2/ext/digest/sha2/lib/sha2.rb')
-rw-r--r--ruby_2_2/ext/digest/sha2/lib/sha2.rb107
1 files changed, 0 insertions, 107 deletions
diff --git a/ruby_2_2/ext/digest/sha2/lib/sha2.rb b/ruby_2_2/ext/digest/sha2/lib/sha2.rb
deleted file mode 100644
index 58d12e9b09..0000000000
--- a/ruby_2_2/ext/digest/sha2/lib/sha2.rb
+++ /dev/null
@@ -1,107 +0,0 @@
-#--
-# sha2.rb - defines Digest::SHA2 class which wraps up the SHA256,
-# SHA384, and SHA512 classes.
-#++
-# Copyright (c) 2006 Akinori MUSHA <knu@iDaemons.org>
-#
-# All rights reserved. You can redistribute and/or modify it under the same
-# terms as Ruby.
-#
-# $Id$
-
-require 'digest'
-require 'digest/sha2.so'
-
-module Digest
- #
- # A meta digest provider class for SHA256, SHA384 and SHA512.
- #
- class SHA2 < Digest::Class
- # call-seq:
- # Digest::SHA2.new(bitlen = 256) -> digest_obj
- #
- # Creates a new SHA2 hash object with a given bit length.
- #
- # Valid bit lengths are 256, 384 and 512.
- def initialize(bitlen = 256)
- case bitlen
- when 256
- @sha2 = Digest::SHA256.new
- when 384
- @sha2 = Digest::SHA384.new
- when 512
- @sha2 = Digest::SHA512.new
- else
- raise ArgumentError, "unsupported bit length: %s" % bitlen.inspect
- end
- @bitlen = bitlen
- end
-
- # call-seq:
- # digest_obj.reset -> digest_obj
- #
- # Resets the digest to the initial state and returns self.
- def reset
- @sha2.reset
- self
- end
-
- # call-seq:
- # digest_obj.update(string) -> digest_obj
- # digest_obj << string -> digest_obj
- #
- # Updates the digest using a given _string_ and returns self.
- def update(str)
- @sha2.update(str)
- self
- end
- alias << update
-
- def finish # :nodoc:
- @sha2.digest!
- end
- private :finish
-
-
- # call-seq:
- # digest_obj.block_length -> Integer
- #
- # Returns the block length of the digest in bytes.
- #
- # Digest::SHA256.new.block_length * 8
- # # => 512
- # Digest::SHA384.new.block_length * 8
- # # => 1024
- # Digest::SHA512.new.block_length * 8
- # # => 1024
- def block_length
- @sha2.block_length
- end
-
- # call-seq:
- # digest_obj.digest_length -> Integer
- #
- # Returns the length of the hash value of the digest in bytes.
- #
- # Digest::SHA256.new.digest_length * 8
- # # => 256
- # Digest::SHA384.new.digest_length * 8
- # # => 384
- # Digest::SHA512.new.digest_length * 8
- # # => 512
- #
- # For example, digests produced by Digest::SHA256 will always be 32 bytes
- # (256 bits) in size.
- def digest_length
- @sha2.digest_length
- end
-
- def initialize_copy(other) # :nodoc:
- @sha2 = other.instance_eval { @sha2.clone }
- end
-
- def inspect # :nodoc:
- "#<%s:%d %s>" % [self.class.name, @bitlen, hexdigest]
- end
- end
-end