我正在尝试使用Crystal附带的Bcrypt库散列+ salt用户密码。
以下代码在操场上运行时会产生“无效的盐大小”错误。
require "crypto/bcrypt"
user = "Jones"
pass = "password"
temp = Crypto::Bcrypt.new(pass, user)
答案 0 :(得分:4)
使用Crypto::Bcrypt::Password
API,请勿直接使用Crypto::Bcrypt
。
您不会在BCrypt哈希生成中使用用户名,API会使用随机值作为盐。
bcryptHash = Crypto::Bcrypt::Password.create("password123")
请参阅https://crystal-lang.org/api/master/Crypto/Bcrypt/Password.html