【问题标题】:Using Salt To Encrypt Password PHP使用 Salt 加密密码 PHP
【发布时间】:2012-11-19 18:04:23
【问题描述】:

这是我的代码,

    <?php 


    function($string){
    $salt = "@x5v";
    $hash = sha1(md5($salt.$string)).md5($string).sha1(md5($string));
    return $hash;
    }   
    ?>
    <?php

    print "<center>";
    if(isset($_POST['username'])){
    echo 'Variable is set and I can use it!';
   }
   $Username = $_POST["username"]; 
   $Password = md5($_POST["password.$hash"]);
   $Email  = $_POST["email"];


?>

我认为是这条线导致了问题:

$Password = md5($_POST["password.$hash"]);

将用户密码传递到数据库的正确语法是什么,用我上面定义的字符串加密?

【问题讨论】:

  • 我希望盐不是一个常数。

标签: php security salt


【解决方案1】:

我认为是这条线导致了问题:

$Password = md5($_POST["password.$hash"]);

你在这里做的是不正确的。应该是:

$Password = md5($_POST["password"] . $hash);

您所做的实际上是使用一个最终会像“password.fdg858fug83u5g5”这样的键来索引 $_POST。

【讨论】:

    【解决方案2】:

    我推荐这个库而不是滚动你自己的解决方案:

    http://www.openwall.com/phpass/

    这是一篇解释如何使用它的文章:

    http://sunnyis.me/blog/secure-passwords/

    您也应该阅读这个 StackOverflow 答案:

    https://stackoverflow.com/a/6337021/943102

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 2021-07-30
      • 2017-12-26
      • 2014-02-03
      • 2011-04-15
      相关资源
      最近更新 更多