crypt (3) $6$ алгоритм хэша пароля (основанный на SHA-512) в Java?
Я ищу функцию Java для генерации / проверки хэшей паролей, которые были закодированы в пути crypt(3)
делает при хранении их в файле Linux "/ etc / shadow", если sha512
активируется в " / etc / pam.d / common-пароль".
строка открытого текста "geheim" будет переведена на:
"$WoC532HB$LagBJ00vAGNGu8p9oeYDOSNZo9vTNTzOgPA.K0bJoiXfbcpj3jBuTkNwdzCrSNadRi8LanH1tH6tGGPPp/Lp3."
от http://www.akkadia.org/drepper/SHA-crypt.txt я понимаю, что, как и с MD5, это не просто хэш SHA, как DigestUtils
или Java MessageDigest
классы создайте алгоритм, который делает немного больше магии.
3 ответов
Я нашел реализации Java для всех новых алгоритмов crypt () здесь:ftp://ftp.arlut.utexas.edu/java_hashes/
взгляните на Apache Commons Codec Digest
и jBCrypt вы можете найти полезную.
в этой статье модульный формат крипты или, примечание о стандарте, который не является много деталей формата Crypt3.
другой вопрос, на который вы ссылаетесь, содержит только ссылки на традиционный метод crypt(3) на основе DES и метод "$1$" на основе MD5. Мне нужно проверить пароли, которые используют метод " $5$", основанный на SHA-1 или даже метод" $6$", основанный на SHA-512.
на основе здесь означает, что crypt (3) использует, например, SHA-512, но добавляет значение соли и выполняет несколько итераций, как описано в http://www.akkadia.org/drepper/SHA-crypt.txt