首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加密盐加密登录

加密盐加密登录
EN

Stack Overflow用户
提问于 2015-03-23 17:40:04
回答 1查看 183关注 0票数 0

我相信这对某些人来说可能很简单,但是很好。

这对我来说很难,我想使用ispconfig客户端信息登录,并且它工作得很好,除了密码需要匹配ispconfig密码,它使用加密/盐加密,据我所知,如何与用户输入的密码相匹配?

到目前为止,我有这个,但我似乎没有工作:

代码语言:javascript
复制
$clientPassword = $_POST['password'];
$selectUserPass = mysqli_query($con, "SELECT * FROM client");
$Passcollected = stripslashes($selectUserPass['password']);
$salt = '$1$'.substr($saved_password, 3, 8).'$';
$clientPasswordSafe = crypt(stripslashes($clientPassword), $salt);

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-23 20:04:53

如果密码确实是用crypt()函数散列的,那么您可以这样验证它:

代码语言:javascript
复制
$clientPassword = $_POST['password'];
$selectUserPass = mysqli_query($con, "SELECT * FROM client");
$Passcollected = $selectUserPass['password'];
$isPasswordCorrect = crypt($clientPassword, $Passcollected) === $Passcollected;

或者更容易使用新的密码函数:

代码语言:javascript
复制
$clientPassword = $_POST['password'];
$selectUserPass = mysqli_query($con, "SELECT * FROM client");
$Passcollected = $selectUserPass['password'];
$isPasswordCorrect = password_verify($clientPassword, $Passcollected);

注意,我没有使用strip斜杠()函数,在散列之前没有必要转义。salt是存储散列的一部分,将由验证函数自动提取。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29216791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档