2021-09-22 bcrypt アルゴリズムの種類 / Ruby で SHA512 ハッシュ文字列生成
bcrypt - Wikipedia
bcrypt hash string は下記のようなフォーマット。
$2<a/b/x/y>$[cost]$[22 character salt][31 character hash]
例えば:
$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
\__/\/ \____________________/\_____________________________/
Alg Cost Salt Hash
アルゴリズムの種類
$1$
: MD5-based crypt (‘md5crypt’)$2$
: Blowfish-based crypt (‘bcrypt’)$sha1$
: SHA-1-based crypt (‘sha1crypt’)$5$
: SHA-256-based crypt (‘sha256crypt’)$6$
: SHA-512-based crypt (‘sha512crypt’)
Ruby で SHA512 ハッシュ文字列生成
require 'unix_crypt'
passwd = "theplaintextpassword"
salt = rand(36**16).to_s(36)
hashpass = UnixCrypt::SHA512.build(passwd, salt)