有没有一种方法可以获取存储在数据库中的解密密码?

时间:2019-11-07 06:04:14

标签: php oracle security encryption

我正在尝试以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);

1 个答案:

答案 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'])."'";