Tag: integer overflow

BCrypt说长的,类似的密码是等价的 – 我,gem或密码学领域的问题?

我一直在试验BCrypt,并发现了以下内容。 如果重要的话,我正在运行ruby 1.9.2dev(2010-04-30 trunk 27557)[i686-linux] require ‘bcrypt’ # bcrypt-ruby gem, version 2.1.2 @long_string_1 = ‘f287ed6548e91475d06688b481ae8612fa060b2d402fdde8f79b7d0181d6a27d8feede46b833ecd9633b10824259ebac13b077efb7c24563fce0000670834215’ @long_string_2 = ‘f6ebeea9b99bcae4340670360674482773a12fd5ef5e94c7db0a42800813d2587063b70660294736fded10217d80ce7d3b27c568a1237e2ca1fecbf40be5eab8’ def salted(string) @long_string_1 + string + @long_string_2 end encrypted_password = BCrypt::Password.create(salted(‘password’), :cost => 10) puts encrypted_password #=> $2a$10$kNMF/ku6VEAfLFEZKJ.ZC.zcMYUzvOQ6Dzi6ZX1UIVPUh5zr53yEu password = BCrypt::Password.new(encrypted_password) puts password.is_password?(salted(‘password’)) #=> true puts password.is_password?(salted(‘passward’)) #=> true puts password.is_password?(salted(‘75747373’)) #=> true puts password.is_password?(salted(‘passwor’)) #=> false […]