summaryrefslogtreecommitdiff
path: root/ruby_1_9_3/ext/digest/sha2/lib/sha2.rb
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-14 11:39:21 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-14 11:39:21 +0000
commite76eb06feb024828034379797129d92522e28516 (patch)
tree1326c625c233ba2554043203a7697f5e3d4c49e5 /ruby_1_9_3/ext/digest/sha2/lib/sha2.rb
parentaa6e98139c8e1ea442fb2182341aaa08ff55b529 (diff)
parentbede15ac5e701ed08f3fc64c2dba03d3f393c652 (diff)
add tag v1_9_3_426v1_9_3_426
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_3_426@40737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_9_3/ext/digest/sha2/lib/sha2.rb')
-rw-r--r--ruby_1_9_3/ext/digest/sha2/lib/sha2.rb107
1 files changed, 0 insertions, 107 deletions
diff --git a/ruby_1_9_3/ext/digest/sha2/lib/sha2.rb b/ruby_1_9_3/ext/digest/sha2/lib/sha2.rb
deleted file mode 100644
index 3c5bf0c863..0000000000
--- a/ruby_1_9_3/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.digest_length * 8
- # # => 512
- # Digest::SHA384.new.digest_length * 8
- # # => 1024
- # Digest::SHA512.new.digest_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