我正在尝试以Oracle DB中加密密码的形式进行登录,但是我无法在php中的select语句中解密密码。当我输入正确的密码时,会弹出错误消息,当我尝试输入已加密的密码时,它将继续登录,
$strSQL = "SELECT USER_ID, PASS_WORD FROM VW_SMF_USERS WHERE USER_ID =
'".trim($_POST['txtUseremail'])."'
AND PASS_WORD = '".trim($_POST['txtUserpassword'])."'";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute ($objParse,OCI_DEFAULT);
$objResult = oci_fetch_array($objParse);
答案 0 :(得分:0)
据我了解您当前的情况,您在数据库中具有哈希密码,并且正在直接向数据库查询user_input密码,这就是为什么应用程序使用哈希而不是纯文本密码登录的原因。
您需要首先在所需的哈希(md5,sha)中加密user_input密码,
示例md5:
"SELECT USER_ID, PASS_WORD FROM VW_SMF_USERS WHERE USER_ID =
'".trim($_POST['txtUseremail'])."'
AND PASS_WORD = '".md5($_POST['txtUserpassword'])."'";