cryptの使い方

前もってcryptで作っておいた結果(saved_secret)を、次回はsaltとして使います。
実際にはsaltは乱数を使います。

password = "PaSsWoRd"
salt = 'Ru'
saved_secret = password.crypt(salt)     #=> "RukFhTZDMvlF6"
[
  "password", "test", "guestguest", "PaSsWoRd"
].each do |trial|
  if trial.crypt(saved_secret) == saved_secret
    puts "Good! #{trial}"
  else
    puts "Bad...#{trial} "
  end
end

実行結果です。

Bad...password
Bad...test
Bad...guestguest
Good! PaSsWoRd