您无法转换md5为sha但实际上您的用户只能使用密码,about to login因此您可以稍微修改脚本以自动执行更新
// The user is not authticated yet
$auth = false;
$updated = false;
// From your Login form
$user = $_POST['user'];
$pass = $_POST['pass'];
// Check If the username has update password
$udated = false; // not update
// I gues you always do this
$password = $updated ? md5($pass) : sha1($pass);
// Do the autentication
// Slect from Database
// Check the data
// Set auth
$auth = true;
// Then chage the password
if ($auth == true && !$updated) {
$newpassword = sha1($pass);
// Connect to DB
// Update the Password
// Set Status to Updated in DB
$udated = true;
}
// Better Approch
if ($auth == true && !$updated) {
$newpassword = password_hash($password, PASSWORD_BCRYPT);
// Connect to DB
// Update the Password
// Set Status to Updated in DB
$updated = true;
}
Run Code Online (Sandbox Code Playgroud)
我使用password_hash了更好的方法,因为它使用的BCRYPT是更好的哈希算法. 查看有关password_compat的更多信息
| 归档时间: |
|
| 查看次数: |
1914 次 |
| 最近记录: |