-1

ここに私のコードがあります、

    <?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"]);

上記で定義した文字列で暗号化された、ユーザーのパスワードをデータベースに渡す正しい構文は何でしょうか?

4

2 に答える 2

2

問題を引き起こしているのはこの行だと思います:

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

あなたがここでやっていることは間違っています。そのはず:

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

あなたが行っていたのは、実際には「password.fdg858fug83u5g5」のようなキーで $_POST にインデックスを付けることです。

于 2012-11-19T10:04:23.573 に答える
0

独自のソリューションを展開する代わりに、このライブラリをお勧めします。

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

使い方については以下の記事で解説しています。

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

この StackOverflow の回答も読む必要があります。

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

于 2012-11-19T09:06:35.280 に答える