の出力にソルトが含まれていることはわかっていますがphps
password_hash()
、次を実行すると:
echo password_hash('JohnDoe', PASSWORD_DEFAULT, ['salt' => 'saltsaltsaltsaltsaltsh']);
# this will be $2y$10$saltsaltsaltsaltsaltseQMyqgPkFxQ1hfP2yBcGxgbJZGe1uGXq
元のソルトの一部しか見えません。最後の文字が切り捨てられているか、何らかの形で別の文字に変換されているようです。では、salt の最後の文字を取得するにはどうすればよいでしょうか。
更新 申し訳ありませんが、私の質問を明確にさせてください: phps password_hash() 関数から返されたハッシュからソルトを取得するにはどうすればよいですか? カスタムソルトを使用する予定はありません。php が提供するものを取得したいだけです。私の例は、私の22レングスの文字列がハッシュで完全に表現されていないことを示すためのものです。私のソルトの21文字しか表示されません。なんで?最後のキャラはどこ?