用Java提供各种散列算法(MD5、SHA1、SHA256等)的库?

用Java提供各种散列算法(MD5、SHA1、SHA256等)的库?,java,md5,sha1,sha256,sha512,Java,Md5,Sha1,Sha256,Sha512,Maven存储库中是否有一个简单的Java库,可以为流行的散列函数(如MD5、SHA1、SHA256和SHA512)提供简单的单行散列方法?我真的很不愿意为了做这件事而重新发明轮子 它是内置的:的类适用于简化MessageDigest类的使用,这似乎是您首先尝试使用的类。javax.crypto.Mac提供类似于“密钥”散列的消息身份验证。问题是关于摘要算法。在这种情况下,应该使用java.crypto.MessageDigest类。@MartinAndersson您在说什么?问题是关于所有这些

Maven存储库中是否有一个简单的Java库,可以为流行的散列函数(如MD5、SHA1、SHA256和SHA512)提供简单的单行散列方法?我真的很不愿意为了做这件事而重新发明轮子

它是内置的:

的类适用于简化MessageDigest类的使用,这似乎是您首先尝试使用的类。

javax.crypto.Mac提供类似于“密钥”散列的消息身份验证。问题是关于摘要算法。在这种情况下,应该使用java.crypto.MessageDigest类。@MartinAndersson您在说什么?问题是关于所有这些算法的“单一库”,答案是这样的。他没有要求一份清单。为什么有人要重新“填充”一个正确的答案?你的评论毫无意义。如果你认为这里的答案不够充分,你可以随时提供你自己的答案。嗯,我想我会得到像你这样的回答。事情是一个人不知道的时候问。内置的
MessageDigest
对于想要一个“简单”库的人来说已经足够了,这样他就不必“重新发明轮子”。如果用户要求使用
字符串
库,您是否也会这样做;给他找一个字符串库并推荐?或者您会提供指向java.lang.String的JavaDoc的链接吗?我还想问一下,提供建议图书馆的清单有什么害处?你自己喜欢选择有限的答案吗?感谢您的关心和提供反馈@如果
MessageDigest
是“足够了”,那么讨论到此结束。如果用户要一个
字符串
库,我会给他指出
java.lang.String的Javadoc,
,而这正是我在这里为
MessageDigest所做的。
我喜欢自己回答这个问题的答案。我没有说过“提供建议图书馆列表的危害”,但它不能回答这里提出的问题。你似乎在对一个不同的问题发表评论,而你并没有接受这个建议来提供你自己的答案。请放心。对于此类的其他用户,即使它有公共构造函数也不要实例化它,直接使用DigestUtils.function()。构造函数当然应该是私有的。Bouncy Castle也有很好的Java加密API。