Есть ли простая библиотека для Java в репозитории Maven, которая предоставит мне простые однострочные хэш-методы для популярных хэш-функций, таких как MD5, SHA1, SHA256 и SHA512? Я бы очень не хотел изобретать велосипед, чтобы сделать это.
Библиотека, предоставляющая различные алгоритмы хеширования (MD5, SHA1, SHA256 и т. д.) в Java?
Ответы (2)
Класс DigestUtils Apache Commons Codec подходит для упрощения использования класса MessageDigest, что, по-видимому, и является тем, что вы пытаетесь использовать в первую очередь.
person
Vineet Reynolds
schedule
02.06.2011
Для других пользователей этого класса не создавайте его экземпляр, даже если у него есть общедоступный конструктор, используйте DigestUtils.function() напрямую. Конструктор, конечно, должен был быть закрытым.
- person Maarten Bodewes; 06.06.2011
Bouncy Castle также имеет хорошие API-интерфейсы Java Cryptography. bouncycastle.org/documentation.html
- person ; 06.02.2013
Он встроен: java.security.MessageDigest
person
user207421
schedule
02.06.2011
javax.crypto.Mac обеспечивает аутентификацию сообщений, которая представляет собой что-то вроде хэша с ключом. Вопрос был об алгоритмах дайджеста. В этом случае следует использовать класс java.crypto.MessageDigest.
- person Jcs; 02.06.2011
@MartinAndersson О чем ты говоришь? Вопрос касается «единой библиотеки» для всех этих алгоритмов, и ответ дает ее. Он не просил список. Почему кто-то должен повторно «заполнять» правильный ответ? Ваш комментарий бессмысленен. Вы всегда можете дать свой собственный ответ, если считаете, что те, что уже здесь, не подходят.
- person user207421; 28.06.2013
хм, полагал, что получу ответ, подобный вашему. Дело в том, что спрашиваешь, когда не знаешь. Встроенной
MessageDigest
более чем достаточно для тех, кто хочет простую библиотеку, чтобы ему не пришлось изобретать велосипед. Если бы пользователь попросил библиотеку String
, вы бы сделали то же самое; найти ему библиотеку String и порекомендовать ее? Или вы бы предоставили ссылку на JavaDoc java.lang.String? Могу я также спросить, какой вред в предоставлении списка предлагаемых библиотек? Вы сами предпочитаете ответы с ограниченным количеством альтернатив? Спасибо за заботу и оставленный отзыв!
- person Martin Andersson; 29.06.2013
@MartinAndersson Если
MessageDigest
«более чем достаточно», это конец обсуждения. Если бы пользователь попросил библиотеку String
, я бы действительно указал ему на Javadoc для java.lang.String,
, и это именно то, что я сделал здесь для MessageDigest.
. Я предпочитаю ответы, которые сами отвечают на вопрос. Я ничего не сказал о «вреде предоставления списка предлагаемых библиотек», но это не ответит на заданный здесь вопрос. Вы, кажется, комментируете другой вопрос, и вы точно не воспользовались предложением дать свой собственный ответ. Не стесняйтесь.
- person user207421; 03.09.2013