如何仅使用 shell 脚本运行以下 Java 功能?openssl 不应该解决问题吗?由于某些原因,值不一样。
壳:
$ cat test.txt
test
$ openssl sha1 test.txt
SHA1(test.txt)= fde773a18bb29f5ed65e6f0a7aa717fd1fa485d4
Java代码(play框架出处):
import org.apache.commons.codec.binary.Hex;
public static String hexSHA1() {
value = "test";
try {
MessageDigest md;
md = MessageDigest.getInstance("SHA-1");
md.update(value.getBytes("utf-8"));
byte[] digest = md.digest();
return byteToHexString(digest);
} catch (Exception ex) {
return null;
}
}
public static String byteToHexString(byte[] bytes) {
// a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
return String.valueOf(Hex.encodeHex(bytes));
}
fde773a18bb29f5ed65e6f0a7aa717fd1fa485d4 != a94a8fe5ccb19ba61c4c0873d391e987982fbbd3