2

PHP の暗号を使用してパスワードをハッシュし、SHA512 を使用する php スクリプトを使用していますが、SHA512 が設定されているかどうかを確認しようとすると、上記のエラーが発生します。もちろん、このエラーが発生する理由はわかっています.phpにはいくつかの依存関係がありません。その依存関係が何であるかはわかりません。

PHP で SHA512 を使用できるようにするには、(Ubuntu サーバーに) 何をインストールする必要があるか教えてください。

ありがとう!

4

3 に答える 3

2

PHP ドキュメントによると、SHA-256 および SHA-512 の組み込みサポートが PHP 5.3.2 で追加されました。以前のバージョンの PHP を使用している場合、システムが提供するこれらのアルゴリズムの実装に依存していますが、それは明らかにあなたのシステムにはありません。

于 2010-12-02T19:41:36.163 に答える
0

最新バージョンの PHP5 を使用していることを確認し、mcrypt をインストールしてください。また、rinjdael (AES) などの他の多くの暗号化方法も含まれています。

于 2010-12-02T19:43:09.677 に答える
0

要するに、SHA512 や md5 スタイルのハッシュではなく、mcrypt を使用する必要があります。力ずくで解読するのは簡単すぎる。http://www.php.net/manual/en/function.mcrypt-generic.phpと googleには、たくさんの良いリファレンスがあります。以下は、 http: //www.php.net/manual/en/function.mcrypt-generic.php#71135 の参照関数 urlsafe_b64encode を使用した 3DES ハッシュ URL の例です。

$key = "what can i tell you";
$request = http_build_query($_REQUEST);
$request_enc = urlencode(urlsafe_b64encode(mcrypt_ecb(MCRYPT_3DES, $key, $request, MCRYPT_ENCRYPT)));
$url = "http://localhost/takemerightthere/".$request_enc;
于 2010-12-02T19:52:19.260 に答える