[英]how to call encrypted Password PHP to Android Mysql
我的登錄活動無法讀取加密密碼,而我沒有加密密碼就嘗試了它,它可以正常工作,而且我不確定是否來自php或活動本身的錯誤如何解密密碼
我正在使用PASSWORD_BCRYPT
<?php
include "conn.php";
$Email = $_POST['Email'];
$Password = $_POST['Password'];
$sql_login = "SELECT * FROM users WHERE Email = :EMAIL and Password =:PASSWORD";
$stmt = $PDO->prepare($sql_login);
$stmt->bindParam(':EMAIL', $Email);
$stmt->bindParam(':PASSWORD', $Password);
$stmt->execute();
if ($stmt->rowCount() > 0) {
$returnApp = array('LOGIN' => 'SUCCESS');
echo json_encode($returnApp);
}else{
$returnApp = array( 'LOGIN' => 'FAILED');
echo json_encode($returnApp);
}
?>
要在PHP中正確使用密碼哈希,請使用password_hash
和password_verify
組合。
用戶注冊后,您將獲得其密碼,對其進行哈希處理並將其存儲在數據庫中:
$hash = password_hash($_POST['newpassword'], PASSWORD_DEFAULT);
// store $hash in database column "password"
當該用戶想要登錄時,您可以檢查哈希值:
// fetch hash from database, store it in $stored_hash
$logged_in = password_verify($_POST['password'], $stored_hash);
if ($logged_in === TRUE) {
echo "Welcome!";
} else {
echo "Username or password incorrect.";
}
最后說明:
PASSWORD_DEFAULT
並確保您的數據庫可以存儲結果(將來也可以)。 哈希算法偶爾會被破解。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.