sql >> データベース >  >> RDS >> PostgreSQL

データベース内のユーザーパスワードを暗号化するための推奨される方法は何ですか?

    SHA1またはSHA256を使用しないでください 、他のほとんどの人が示唆しているように。 MD5は絶対に使用しないでください

    SHA1 / 256とMD5はどちらも、ファイルと文字列(および必要に応じて他のデータ型)のチェックサムを作成するように設計されています。このため、チェックサムをすばやく生成できるように、可能な限り高速になるように設計されています。

    この高速な速度により、パスワードのブルートフォース攻撃がはるかに簡単になります。適切に作成されたプログラムでは、毎秒数千のハッシュを簡単に生成できるためです。

    代わりに、パスワード用に特別に設計された低速のアルゴリズムを使用してください。これらは、生成に少し時間がかかるように設計されていますが、ブルートフォース攻撃がはるかに困難になるという利点があります。このため、パスワードははるかに安全になります。

    個々のパスワードを一度に1つずつ暗号化することだけを検討している場合は、パフォーマンスが大幅に低下することはありません。これは、パスワードの保存と確認の通常の実装です。本当の違いがあるのはバルクだけです。

    私は個人的にbcryptが好きです。 Googleですばやく検索すると一致する可能性のあるものがいくつか見つかったため、Perlバージョンが利用可能であるはずです。



    1. ネストされたInsertinsetステートメントとselectステートメント

    2. MariaDBでサフィックスを使用して日番号を返す方法

    3. Webアプリケーションの実行時にjdbc:oracle:thin:@localhost:1521:XEに適したドライバーが見つかりません

    4. SQL Server(T-SQL)でデータベースのリストを取得する3つの方法