2

たとえば、誰かがハッシュ "PafgokWMoHSZE" にアクセスできるとします。これは crypt(Password1,Password1) を介して取得されているため、他のソルトよりもリバース エンジニアリングが容易/困難でしょうか?

4

2 に答える 2

2

安全性が低いので、やらないでください。問題は、salt がハッシュの前に付けられていることです。先頭の Pa は、Password1 の最初の 2 文字です。9 文字のパスワードを 7 文字のパスワードの強度に減らしました。

PHP の crypt() は、ランダムなソルトを自動的に生成します。特定のアルゴリズムが必要でない限り、そのままにしておくのが最善です。

編集:これにより、ハッシュアルゴリズムのユーザー制御も可能になることがわかりました。これは、ほとんどの場合、あなたが望むものではありません。無効なソルト (つまり、パスワードに無効な文字) があると、crypt() も失敗します。

于 2013-10-13T02:40:21.673 に答える
1

誰でもパスワード自体をソルトとして試すことができるという理由だけで、あまり安全ではないと思います。

クラッカーは、常にパスワード自体をソルトとして試すルールを簡単に作成できます。または、体系的にではなく、テストバッチでのみ. あなたのソルトで暗号化されたパスワードが漏洩した場合、彼は最初の実行でそれを試してみて、パスワードがソルトであることを非常に簡単に発見し、残りのリストに同じレシピを適用できます.

詳しい説明

パスワードが「flower」の場合、辞書攻撃では「flower」という単語が試行されます。クラッカーは、md5、SHA1 などで「flower」のハッシュを検索しようとします。それが機能しない場合、クラッカーはハッシュがソルトされていると想定します。それは物事をはるかに困難にします。彼がパスワード自体をソルトとして使用しようとしない限り。

これを読んで怖がってください: http://arstechnica.com/security/2013/10/how-the-bible-and-youtube-are-fueling-the-next-frontier-of-password-cracking/

于 2013-10-13T02:06:00.820 に答える