PBKDF2
次のコードを実行したときの出力として、正しいものを1つ選べ。
import hashlib
print(len(hashlib.pbkdf2_hmac("sha256", b"pw", b"salt", 1000)), hashlib.sha256(b"a").digest() == hashlib.sha256(b"a").digest())
- A
64 True - B
32 True - C
32 False - D
1000 True
正解と解説を見る
正解:B
パスワードの保存には、ソルトを加えて繰り返し計算する方式(PBKDF2・scrypt・bcrypt など)を使う。単純な SHA-256 は適さない。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import hashlib` | — |
| 2 | `print(len(hashlib.pbkdf2_hmac("sha256", b"pw"…` | — |
| 結果 | 実際の出力 | 32 True |
- A
誤り。出力は 32 バイト。
- B
正しい。PBKDF2 は、ソルトと繰り返し回数でパスワードから鍵を導く。SHA-256 の出力は 32 バイト。同じ入力からは同じハッシュ値になる。
- C
誤り。同じ入力のハッシュ値は一致する。
- D
誤り。繰り返し回数は出力の長さではない。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。