PBKDF2 не совпадает между библиотеками Python и Javascript - PullRequest
2 голосов
/ 27 августа 2011

Используя пароль «пароль», соль «1234567812345678» 100 повторений, 128-битный результат

http://bitwiseshiftleft.github.com/sjcl/demo/ - реализация javascript, выдающая результат A374FF6A12280F020162A62A9B3212AA

http://matt.ucc.asn.au/src/pbkdf2.py - реализация на Python, дающая результат 89FBE50AF230BD273076AA9BC9F1142A

Чем они отличаются, если PBKDF2 является стандартом, который они оба реализуют?

1 Ответ

6 голосов
/ 04 сентября 2011

Похоже, что SJCL использует SHA-256, тогда как реализация Python по умолчанию - SHA-1.

Это разные хеши, которые могут использоваться внутри PBKDF # 2, и, как таковые, приводят к разным результатам.

PBKDF # 2 является алгоритмом, но не определяет точный состав его внутренних элементов.

...