私はここでPHPのパスワードストレージを安全にする方法についてはstackoverflowで尋ねました。 main answerは、以下のハッシュアルゴリズムを使用することを提案:HMAC + nonceを使用したPHPパスワードストレージ - ノンスランダム性が重要ですか?
function hash_password($password, $nonce) {
global $site_key;
return hash_hmac('sha512', $password . $nonce, $site_key);
}
答えはランダム nonceを使用することを提案しています。シンプルな一意的なナンスよりもランダムナンスを持つことに利点はありますか?
例えば、各ユーザーは、変更されない独自のIDを持つことができます。しかし、ユーザーIDがシーケンシャル(MySQLの自動インクリメント機能を使用して構築されている)で、ランダムではないと仮定しましょう。ユーザIDは良いノンスかランダム性が重要ですか?
ここで、各ユーザーはユーザー名を選択できます。各ユーザーには変更のない独自のユーザー名があり、2人のユーザーが同じユーザー名を持つことはできません。 ユーザー名はまだランダムではありませんが、順次ではありません。ユーザー名はノンスとして十分なのでしょうか?ユーザーIDを使用するよりも良いでしょうか?あなたは塩を意味ナンスによって場合
あなたのナンスは塩でなければなりません。塩は定義上ランダムです。この答えは正しいですが、とは何の関係もありませんhttp://stackoverflow.com/questions/1645161/salt-generation-and-open-source-software/1645190#1645190 – Jacco