0

プロジェクトを localhost からホストに配置し、同じ (phpass) 関数を使用すると、異なる結果が返され、返される文字列の長さも異なります。(そして、すべてがローカルホストで動作します)

したがって、オンラインの場合、同じ関数は false を返します。何が問題なのだろうと思っていました。

結果は次のとおりです。

入力: 12345

  • ローカルホスト:$2a$08$t5joFUIbEThylj/IyUVy7.WzMZm8fmKjsy0kZc/YxgqzkbYQWnlre
  • ホスト: $P$9QiKVfJzpRzoToBCJg8FeaDIfcAJJ61

編集:パスワードを移植可能にするためにTRUEフラグをオンにしましたが、それでも機能しないようです。

編集 2: php 4 または 5 では動作せず、ポータブル モードに切り替えました!!

4

3 に答える 3

2

警告: デフォルトでは、ライブラリは、移植できない強力なシステム固有のパスワード ハッシュを生成します。これは、一度作成されたユーザー データベースをダンプして別のサーバーにエクスポートできないことを意味します。この動作は構成ファイルでも変更できます。

->ポータブル (PHPass) パスワード ハッシュ。それらを使用する必要がありますか?

于 2012-01-17T15:55:19.977 に答える
2

私が間違っていなければ、phpass は利用可能な最善の方法を使用します。この場合、ライブホストで利用可能なモジュールは localhost のものと同じではないように見えるため、phpass は別の方法を選択する必要があります。「$2a$」は bcrypt を示し、「$P$」は phpass の内部ハッシュを示します。つまり、ライブ ホストで bcrypt が利用できないようです。

于 2012-01-17T15:57:41.540 に答える
0

I finally found out the problem was not phpass itself, but the scripts were causing an error (mysql real name escape was the problem and ajax was actually hiding it from me) anyways, everything is ok now, thanks.

于 2012-01-18T08:55:58.300 に答える