java php sha1 函数
java中sha1函数的alertnate是什么,
就像php中的一样,
sha1("here is string");
java中的是什么
what is alertnate of sha1 function in java
just like in php
sha1("here is string");
what will be in java
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您使用
java.security.MessageDigest
类。但请注意,哈希值通常应用于二进制数据而不是字符串 - 因此您需要首先将字符串转换为字节数组,通常使用
String.getBytes(String)
方法 - 确保使用指定编码的重载而不是使用平台默认值。例如(省略异常处理):一旦您将哈希值作为字节数组,您可能希望将其转换回文本 - 这应该以十六进制或可能以 Base64 形式完成,例如使用 Apache Commons 编解码器。
如果您尝试匹配 PHP 生成的 SHA-1 哈希值,则需要找出将字符串转换为字节时使用的编码,以及随后如何表示哈希值。
You use the
java.security.MessageDigest
class in Java. But note that hashes are generally applied to binary data rather than strings - so you need to convert your string into a byte array first, usually with theString.getBytes(String)
method - make sure you use the overload which specifies an encoding rather than using the platform default. For example (exception handling elided):Once you've got the hash as a byte array, you may want to convert that back to text - which should be done either as hex or possibly as Base64, e.g. using Apache Commons Codec.
If you're trying to match the SHA-1 hash produced by PHP, you'll need to find out what encoding that uses when converting the string to bytes, and how it then represents the hash afterwards.
这是我使用的。 (我对我编译这个答案的两个答案投了赞成票,但为了简单起见,我想将其粘贴到一个答案中。)
Here is what I use. (I upvoted the two answers I compiled this one from, but I thought I'd paste it in a single answer for simplicity.)