php - 有没有办法可以获取存储在数据库中的解密密码?
问题描述
我正在尝试创建一个登录表单,其中密码在 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);
解决方案
我可以理解您当前的情况,您已经在数据库中对密码进行了哈希处理,并且您正在将 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'])."'";
推荐阅读
- java - 如何从自动生成的 JPA 实体中分离计算值?
- google-cloud-platform - 反向代理 Google Cloud Storage 公共 URL 失败/404s
- google-chrome - 如果 Google 将整个活动标签 DOM 发送到我的后端,Google 会禁止我的扩展程序吗?
- spring-boot - 在 Apache Archiva 中使用 Gradle6.3 和 Spring boot 2.2..6.Release 的 RSocket 依赖问题
- java - 如何在模拟 HTTPResponse 中添加标头
- api - 运行自定义端点发布请求时,用户 ID 未进入 get_current_user_id()
- php - 如何在愿望清单中获取可变产品的父产品的产品类别
- c++ - {fmt} 库:如何使用 RegEx 添加编译时字符串检查?
- mysql - 从 2 个表中获取数据
- php - 如何从数据库中的 wp_usermeta 表中获取值?