フォームから更新できるように、自分のWebサイトのログインシステムを作成しています。私は自分自身をユーザーと呼んだデータベースのテーブルに手動で追加しましたが、私だけが存在することになり、パスワードのプレーンテキストを追加しました。しかし、私はパスワードのハッシュについて読んでいますが、これはphp関数からのみ行われていることがわかりますが、phpMyAdminでSQLセクションのみを使用してそれを行うことはできますか?
6 に答える
テーブルの構造を編集すると、「関数」という列が表示されます。そこでMD5を選択すると、そのフィールドに保存されている値がハッシュ化されます。したがって、すでにパスワードがテーブルに保存されている場合は、パスワードもハッシュ化されます。
このように:http ://www.xodino.it/wp-content/uploads/file/ubuntuftp/pureftpd-02.png
ここを見てください:http: //dev.mysql.com/doc/refman/5.1/en/password-hashing.html
しかし、PHPでそれを実行したい場合は、ここを見てください。これは、パスワードハッシュに関する優れた記事です:http: //phpsec.org/articles/2005/password-hashing.html
パスワードをソルトしてからハッシュする必要があります。MD5またはSHA1を使用するパスワードは安全ではなくなりました。パスワードごとに一意のソルトを生成し、Bcryptを使用して強力なハッシュを作成する必要があります。
この記事はまともな説明を与えます: http://www.bentasker.co.uk/blog/security ... しかし、自分でGoogle検索を行うと、データベースにパスワードを保存することで多くの結果が得られます。
タイプをBINARYに変更し、長さを60にすることができます。アプリケーションがプライベートのままである場合は、MD5、SHA1、またはPASSWORD関数を使用しても問題ありません。暗号化および圧縮機能の説明は、次の公式MySQLドキュメントで入手できます:http://dev.mysql.com/doc/refman/5.5 / ...
ここで何が欲しいか教えてもらえますか?SQLを使用してパスワードを暗号化しますか?それで、パスワードを保存する前に、あなたはこのようなものを呼びますか?
select * from user where username='me' and password=md5($mypass)
それが必要な場合は、SQLエンジンによって異なります。MySQLには、作業を支援するMD5と呼ばれる関数があります。
テーブルを編集するのが最も簡単だと思います。「関数」という列があるはずです。ドロップダウンリストからMD5を選択し、[GO]をクリックすると、そのフィールドに保存されている値がハッシュ化されます。したがって、すでにパスワードがテーブルに保存されている場合、ただし、変換されたハッシュテキストをCHARに再度変更しようとすると、元のパスワードが変更され、php側に正しいパスワードを設定できなくなります。
UPDATE Desarrollo.Login SET password = md5('mypassword') WHERE Login.id = 1;
これが役立つと思います。