2011-12-03 9 views
6

私はログインフォームを作成しましたが、登録フォームは作成していませんので、ユーザーの詳細をSQLデータベースに直接入れています。
私は、ユーザーがログインしようとすると、cakephpがパスワードを自動的にハッシュするが、データベースのパスワードがハッシュされていないため、現時点ではログインできないことがわかりました。
cakephpはどのようにパスワードをハッシュしますか?パスワードをハッシュする

マイセキュリティ塩は、Dhhfei38fhDg37dg6Dg208Dh3h380Hrjd3

あなたはそれが何をするかによって、私を歩いてもらえますか?

答えて

8

ハッシュされたパスワードにより作成されます。CakePHPの2.0のとおり

$hashedPasswords = Security::hash($yourPass, NULL, true); 

Check the cakephp manual for more info

+2

私はコードDRYを維持するために行動を使用することをお勧めします:dereuromark.de/2011/08/25/working-with-passwords -in-cakephp – mark

1

How to – password hashing in cakephpに従って:"Security :: hashは、タイプsha1を取ります。"

+0

そして、ここでオンラインハッシュ計算機です:http://www.fileformat.info/tool/hash.htm私がやりなさい –

2

新しいユーザーをパスワードで追加します。新しいユーザーのパスワードのハッシュ値を取得し、それを他のユーザーのレコードに貼り付けることができます。 CakePHPでは

+0

は、かかわらず、まだサインアップフォームを作成した場合だけ思っていました誰もがケーキを知っていたので、後でサインアップフォームを残してもログインできるようになりました。ありがとうございました – Chris

2

、ケーキだけで他の場所に、ログインプロセスで をパスワードをハッシュ(のようなレジスタ方法を... )、パスワードは自動的にハッシュされません。なぜなら、これはcakephpを初めて使う人にとっては奇妙な動作だと考えられていたからです。 パスワードをハッシュする場合は、前述のSudhirメソッドを使用する必要があります。 ケーキがパスワードを自動的にハッシュしないという利点の1つは、パスワードの複雑さ(特殊文字、数字、文字eccが含まれている場合)を簡単に確認できることです。

関連する問題