2017-07-07 42 views

回答

3

使用Crypto::Bcrypt::Password API,不直接使用Crypto::Bcrypt

您不使用BCrypt哈希生成中的用戶名,API將使用隨機值作爲鹽。

bcryptHash = Crypto::Bcrypt::Password.create("password123") 

https://crystal-lang.org/api/master/Crypto/Bcrypt/Password.html

+0

所以基本上「加密:: Bcrypt :: Password.create(用戶+通)'? – Jones

+0

這給了我一個索引越界的錯誤。 – Jones

+0

你只應該散列祕密值,連接用戶名沒有真正意義,使用用戶名作爲鹽一般來說不是一個好習慣,但對於bcrypt它絕對沒有意義,整個bcrypt的要點是它安全地提取鹽管理離開你。 – Magnus