MD5パスワードを復号化できるかどうか知りたいのですが
3 に答える
md5を使用してユーザーのパスワードを自動的に生成します
しないでください。MD5は安全ではありません。
これらのパスワードを暗号化して、実際のパスワードのように表示する方法
「復号化」という意味だと思います。できません。MD5はハッシュアルゴリズムであり、元に戻せないように設計されています。
ユーザーのパスワードを生成しないでください。プロセスは次のようになります。
- ユーザーがパスワードを生成します
- ユーザーがSSL経由でパスワードを送信します
- パスワードをハッシュします(MD5ではありません)
- ハッシュされたパスワードを保存します
ユーザーがログインしたとき:
- ユーザーがSSL経由でパスワードを送信します
- パスワードをハッシュします
- ハッシュされたパスワードをデータベース内のハッシュと比較します
それらを暗号化されたデータベースに保存するだけです-それが目的です。
パスワードを生成します。
$characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
$your_password_length = 8;
$password_unencrypted = '';
for ($i = 0; $i < $your_password_length; $i++) {
$password_unencrypted .= $characters[rand(0, strlen($characters) - 1)];
}
今それを暗号化します
$password_encrypted = md5($password_unencrypted);
これで、password_unencryptedとpassword_encryptedの2つの変数ができました。たとえば、password_unencryptedをメールでユーザーに送信できますが、DBには暗号化されたパスワードが含まれている必要があります。ユーザーがログインするときは、暗号化された入力をDB内の暗号化されたパスワードと比較する必要があります。
//..get the md5 from DB to $password_encrypted and then
if (md5($_POST['users_password_in_form']) == $password_encrypted){
// ...log in...
}
s is if he somehow acess the database itself (probably he got the password), so does it really make
パスワードとデータベースの安全性について、パスワードがハッシュまたは暗号化されている場合、ユーザーがパスワードの違いにアクセスできる唯一の方法があることを念頭に置いてください。私m asking cause we are trying to protect the user password, but if someone has acess to the database, he dont need the user password, he can make the changes on the database itself, and about the encrypting, i find on php manual that blowfish is the most indicated, but i
はグーグルでの最初の結果検索でオンライン解読者を見つけました。あなたはそれについてどう思いますか?前もって感謝します。