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

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

WBOY
リリース: 2016-06-23 14:19:02
オリジナル
1320 人が閲覧しました

メンバーが登録したとき、パスワード 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!データベースに入れる前にどのように暗号化したか、次に検証して比較するときにどのように暗号化したかが判明しました。ステートメントをコピーするだけです

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート