web-dev-qa-db-ja.com

SHA-512出力の余分なPBKDF2文字

今日、何かおかしなことに気づいたとき、hash_pbkdf2を使っていました。

ハッシュを生成する通常の方法は、128文字の文字列(128文字、各4ビット、合計512ビット)を出力する以下のコードのように、文字列全体を出力することです。
echo hash_pbkdf2("sha512", "123456", "test", 30000, 0);
_c7b35be6c57b716fe4beb1ca33341ea32cb0de817636c115244db9c57cea1120828ea2b9f19805b24667c876d7b0e5ec4a3b05b3b793845ece2404106d781cda_

しかし、私は小さなエラーを犯し、余分なデータのヒープ全体を出力していることに気づきました。
echo hash_pbkdf2("sha512", "123456", "test", 30000, 512);
_c7b35be6c57b716fe4beb1ca33341ea32cb0de817636c115244db9c57cea1120828ea2b9f19805b24667c876d7b0e5ec4a3b05b3b793845ece2404106d781cda6b38792a96c1677e897dc7640c759dc660b02bdd6b590e6b90edc88484a03bbc8d5abf598cfe0493d99aea0074ba9d66c16ecc5ab92b02e27eece56253b6c55546bc0d699129d726fc9c794baaa7bbda45625e7f7efbf958baf3f77236eadd3e4b86beaf7ed302f995096ad08e95fe078a0bb0ad0ff5dd672aac76fc335b6746ee177d6f2133de667a8a49a1356129d2a34a3a57aeb341101cd78fd8998d11910d926576427da7a02da554a787efe782fe7d26f01fe3e4f8bf4f4f352470725c_

この悪いコードによって出力される余分な16進数は何ですか、SHA-512は最大512ビットしか出力できないという印象を受けましたか?

1
Aedazan

関数定義 によると、512のビット長を指定しました。デフォルトでは(raw_output = False)余分なビットは派生キーから取得されます。

2
schroeder