mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Import openssl-2.2.0 (#2693)
Import the master branch of ruby/openssl for preparing to release openssl-2.2.0
This commit is contained in:
parent
0bfa479c52
commit
b99775b163
Notes:
git
2020-02-16 15:21:52 +09:00
Merged-By: hsbt <hsbt@ruby-lang.org>
77 changed files with 3905 additions and 341 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# frozen_string_literal: false
|
||||
# frozen_string_literal: true
|
||||
=begin
|
||||
= Info
|
||||
'OpenSSL for Ruby 2' project
|
||||
|
|
@ -12,11 +12,26 @@
|
|||
|
||||
require 'openssl.so'
|
||||
|
||||
require 'openssl/bn'
|
||||
require 'openssl/pkey'
|
||||
require 'openssl/cipher'
|
||||
require 'openssl/config'
|
||||
require 'openssl/digest'
|
||||
require 'openssl/x509'
|
||||
require 'openssl/ssl'
|
||||
require 'openssl/pkcs5'
|
||||
require_relative 'openssl/bn'
|
||||
require_relative 'openssl/pkey'
|
||||
require_relative 'openssl/cipher'
|
||||
require_relative 'openssl/config'
|
||||
require_relative 'openssl/digest'
|
||||
require_relative 'openssl/hmac'
|
||||
require_relative 'openssl/x509'
|
||||
require_relative 'openssl/ssl'
|
||||
require_relative 'openssl/pkcs5'
|
||||
|
||||
module OpenSSL
|
||||
# call-seq:
|
||||
# OpenSSL.secure_compare(string, string) -> boolean
|
||||
#
|
||||
# Constant time memory comparison. Inputs are hashed using SHA-256 to mask
|
||||
# the length of the secret. Returns +true+ if the strings are identical,
|
||||
# +false+ otherwise.
|
||||
def self.secure_compare(a, b)
|
||||
hashed_a = OpenSSL::Digest::SHA256.digest(a)
|
||||
hashed_b = OpenSSL::Digest::SHA256.digest(b)
|
||||
OpenSSL.fixed_length_secure_compare(hashed_a, hashed_b) && a == b
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue