【问题标题】:Salt Command for encrypting passwords isn't working用于加密密码的 Salt 命令不起作用
【发布时间】:2013-05-08 21:48:21
【问题描述】:

对于我们的项目,我们正在尝试使用 salt 命令加密密码,但它似乎不起作用。这是我们目前所拥有的:

<html>
<?php
$con=msqli_connect('XXXX', '<username>', '<password>', 'XXXXXXX');
// Create connection
// Check connection
if (mysqli_connect_erno($con));
{
    echo "Failed to connect to Mysql: " . msqli_connect_error();
}
?>  

<?php
$Password = $_POST['password'];

$salt = //


$password = sha1(userPasswordinput . salt);
?>
<head>

<title>Password Ecryption</title>
</head>

<body>


</body>
</html>

与 mysql 的连接正常,但显然有问题。密码变量是从另一个代码页发布的,该部分也可以正常工作。

【问题讨论】:

  • 我们似乎遗漏了您的代码的一些重要部分。从$_POST['password'] 填充$Password 后会发生什么?
  • $Password 来自之前的网页代码(未显示)并将其发布到数据库中。我可能正在处理这个错误,所以我将解释这段代码应该做什么:这个 php 代码获取用户输入到网页的密码,并将其加密以将其存储在数据库中以存储因此,当有人登录时,它会加密他们输入的内容并确保它与已经存储的加密密码匹配。这是我最大的努力,
  • salt(我假设它是一个常数)在哪里定义? userPasswordinput 也是常数吗?
  • 我希望这些不是你真正的数据库凭据,尤其是当你以 root 连接时
  • 它不是 DNS 服务器。我不确定我是否理解您的问题。

标签: php mysql password-hash


【解决方案1】:

您的代码中有一些错误导致 salt 和张贴的密码无法正常工作。试试下面的代码:

<?php
// lower case variable names for non-objects (developer preference)
$password_input = $_POST['password'];

// you had a syntax error here (missing variable value and ending semi-colon)
$salt = 'SomePasswordSaltString';

// you had another syntax error here (incorrect variable reference and missing $)
$password = sha1($password_input . $salt);
?>

【讨论】:

  • 现在我看到它已经完成了,它更有意义,谢谢我会试试的!!
猜你喜欢
  • 1970-01-01
  • 2018-09-13
  • 2017-04-11
  • 2014-03-26
  • 2020-09-24
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多