mirror of
https://github.com/ruby/ruby.git
synced 2025-08-26 06:25:31 +02:00
parent
3f8665fe0e
commit
0b2c70eaa1
31 changed files with 161 additions and 171 deletions
|
@ -15,17 +15,6 @@
|
|||
module OpenSSL
|
||||
class Digest
|
||||
|
||||
# You can get a list of all algorithms:
|
||||
# openssl list -digest-algorithms
|
||||
|
||||
ALGORITHMS = %w(MD4 MD5 RIPEMD160 SHA1 SHA224 SHA256 SHA384 SHA512)
|
||||
|
||||
if !OPENSSL_VERSION.include?("LibreSSL") && OPENSSL_VERSION_NUMBER > 0x10101000
|
||||
ALGORITHMS.concat %w(BLAKE2b512 BLAKE2s256 SHA3-224 SHA3-256 SHA3-384 SHA3-512 SHA512-224 SHA512-256)
|
||||
end
|
||||
|
||||
ALGORITHMS.freeze
|
||||
|
||||
# Return the hash value computed with _name_ Digest. _name_ is either the
|
||||
# long name or short name of a supported digest algorithm.
|
||||
#
|
||||
|
@ -35,13 +24,13 @@ module OpenSSL
|
|||
#
|
||||
# which is equivalent to:
|
||||
#
|
||||
# OpenSSL::Digest::SHA256.digest("abc")
|
||||
# OpenSSL::Digest.digest('SHA256', "abc")
|
||||
|
||||
def self.digest(name, data)
|
||||
super(data, name)
|
||||
end
|
||||
|
||||
ALGORITHMS.each do |name|
|
||||
%w(MD4 MD5 RIPEMD160 SHA1 SHA224 SHA256 SHA384 SHA512).each do |name|
|
||||
klass = Class.new(self) {
|
||||
define_method(:initialize, ->(data = nil) {super(name, data)})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue