2016-08-03 88 views
0

我有大约500条记录的MySQL数据库。有一列这是目前含有纯文本密码password转换明文密码bcrypt加密的密码

我想这些密码隐蔽到encrypted with bcrypt。我怎样才能做到这一点从phpMyAdmin的

第二个附加问题:登录页面编码是什么将检查此加密的密码,并让成员进入? (我用的mysqli)

+0

phpmyadmin可能只是查看你的MySQL数据库,而不是处理任何PHP代码。你需要通过一个PHP脚本 – Shubhank

+0

@Shubhank哦~~要做到这一点... OK u能与一些例如编码详细点吗? –

回答

0

首先,备份你的数据库......然后,你必须做这样的事情......

不知道你的应用程序我可以打一个比方,这可能赢得”您可以使用当前的生产代码。

$servername = "YOUR_SERVER"; 
$username = "YOUR_USERNAME"; 
$password = "YOUR_PASSWORD"; 
$dbname = "YOUR_DB"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT id, password FROM your_table"; 
$result = $conn->query($sql); 

$newPasswords = []; 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     $newPasswords[] = ["id" => $row["id"], "newPass" = "YOUR_PASSWORD_ENCRYPTED_WITH_BCRYPY"]; 
    } 
} else { 
    echo "0 results"; 
} 

foreach($newPasswords as $user) { 
$sql = "UPDATE your_table SET password = $user["newPass"] WHERE id = $user["id"]"; 
$result = $conn->query($sql); 
} 

$conn->close(); 

在此之后,您可以更改您的应用程序登录用户照顾新的加密密码。要加密与bcrypt在PHP看here

再次记得在任何操作之前备份您的数据库!