2016-08-03 112 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

再次記得在任何操作之前備份您的數據庫!