Java中的SHA及其测试工具

Java中的SHA及其测试工具,java,Java,我的公司有一个项目,使用Java和SHA作为加密密码的算法 MessageDigest md=MessageDigest.getInstance(“SHA”) QA应该使用哪个工具来测试这个SHA算法。我在谷歌上搜索发现了SHA-1,SHA-2没有找到SHA。“SHA”是SHA-1的同义词。您可以通过调试和检查MessageDigest实例来查看它,或者只需将消化相同字符串的结果与每个实例进行比较即可: MessageDigest sha = MessageDigest.getInstance(

我的公司有一个项目,使用Java和SHA作为加密密码的算法

MessageDigest md=MessageDigest.getInstance(“SHA”)

QA应该使用哪个工具来测试这个SHA算法。我在谷歌上搜索发现了SHA-1,SHA-2没有找到SHA。

“SHA”是SHA-1的同义词。您可以通过调试和检查MessageDigest实例来查看它,或者只需将消化相同字符串的结果与每个实例进行比较即可:

MessageDigest sha = MessageDigest.getInstance("SHA");
MessageDigest sha1 = MessageDigest.getInstance("SHA-1");
String shaString = new BASE64Encoder().encode(sha.digest("foobarbaz".getBytes()));
String sha1String = new BASE64Encoder().encode(sha1.digest("foobarbaz".getBytes()));
System.out.println(shaString);
System.out.println(sha1String);
输出

X1UT+IIv2+UUWvM7ZNjZcNz5XG4=
X1UT+IIv2+UUWvM7ZNjZcNz5XG4=

无论您指定的是“SHA”还是“SHA-1”,您都会得到完全相同的MessageDigest算法

“SHA作为密码加密的算法”否,它使用SHA作为密码的消息摘要的算法。一点也不一样。