ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp メンバーのログイン パスワード検証の md5 の問題。

thinkphp メンバーのログイン パスワード検証の md5 の問題。

WBOY
WBOYオリジナル
2016-06-23 14:19:021298ブラウズ

メンバーが登録したとき、パスワード md5 は暗号化されてデータベースに保存されました。メンバーがログインするには md5 パスワードが必要ですが、データベースにクエリするには何を書けばよいですか?フォーム md5 を取得してデータベースにクエリを実行すると、コードが

class AdminAction extends Action{       function index(){	  if(isset($_POST['username'])){	        if(isset($_POST['username'])&&isset($_POST['password'])){			    $secure_code = C('SECURE_CODE');			    $userpassword=md5($secure_code.md5($_POST["password"]));			    $db=M();				$select=$db->query("select * from developers where username=".$_POST['username']." and password=".$userpassword."");				 echo $db->getLastSql();exit;


と異なるのはなぜですか?


ディスカッションへの返信(解決策)

ログイン機能で3日連続で3投稿したため、自分で考えて解決策を探すことはできません

md5($secure_code.md5($_POST["password"]));

これが追加されたものです元のパスワードにそれを追加すればいいだけです

1:$userpassword=md5($secure_code.md5($_POST["password"])); なぜ MD5 を 2 回暗号化する必要があるのですか? ?
2: 最後のステートメントが出力されたので、パスワードの MD5 とデータベース内の暗号化されたパスワードを比較します。

md5($secure_code.md5($_POST["password"]));

これは元のパスワードに何かを追加するためのものです
+1!データベースに入れる前にどのように暗号化したか、次に検証して比較するときにどのように暗号化したかが判明しました。ステートメントをコピーするだけです

挿入時とクエリ時の暗号化方法は同じですか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。