方法一
- maven引入commons-codec包
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.14</version>
</dependency>
- 利用
DigestUtils.sha1Hex(testStr)
方法
String testStr= "abc";
String mySignature = DigestUtils.sha1Hex(testStr);
方法二
1、利用java.security.MessageDigest
进行逐个字节的转换
private String sha1Str(String input) {
try {
if (input == null) {
return null;
}
MessageDigest messageDigest = MessageDigest.getInstance("SHA");
byte[] digests = messageDigest.digest(input.getBytes());
StringBuilder output = new StringBuilder();
for (int i = 0; i < digests.length; i++) {
int halfbyte = (digests[i] >>> 4) & 0x0F;
for (int j = 0; j <= 1; j++) {
output.append(
((0 <= halfbyte) && (halfbyte <= 9))
? (char) ('0' + halfbyte)
: (char) ('a' + (halfbyte - 10)));
halfbyte = digests[i] & 0x0F;
}
}
return output.toString();
} catch (Exception ex) {
return null;
}
}
参考
链接: https://www.cnblogs.com/2333/p/6405386.html.
链接: https://blog.csdn.net/stonezealot_zjr/article/details/98756078.