如何调用加密密码 PHP 到 Android Mysql
how to call encrypted Password PHP to Android Mysql
我的登录 activity 无法读取加密的密码 我试过没有加密的密码并且它有效,我不确定是 php 还是 activity 本身的错误如何解密密码
im Using 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
and 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
并确保您的数据库可以存储结果(将来也是如此)。哈希算法偶尔会被破解
- 您可以使用 Google 或 Facebook 等其他提供商来处理您的身份验证。不过,这也有缺点。
我的登录 activity 无法读取加密的密码 我试过没有加密的密码并且它有效,我不确定是 php 还是 activity 本身的错误如何解密密码
im Using 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
and 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
并确保您的数据库可以存储结果(将来也是如此)。哈希算法偶尔会被破解 - 您可以使用 Google 或 Facebook 等其他提供商来处理您的身份验证。不过,这也有缺点。