我正在将一个 api 从 php 转换为 java,我编写了以下代码来模拟 php 的 sha1 方法。问题是当它创建新的格式化程序对象时,我得到一个FileNotFoundException,调试我发现它找不到“sunrsasing.jar”,通过stackoverflow我发现:
我正在阅读它,以便在 JDK5 之前,它位于您提到的 sun 提供的单独 jar 中。之后,它作为 JDK 的一部分分发,而不是作为单独的 jar。块引用
所以我的问题是,除了从其他来源复制和粘贴 jar 之外,还有什么方法可以修复错误?如果没有,我在哪里可以找到它?
private static String encryptPassword(String password)
{
String sha1 = "";
try
{
MessageDigest crypt = MessageDigest.getInstance("SHA-1");
crypt.reset();
crypt.update(password.getBytes("UTF-8"));
sha1 = byteToHex(crypt.digest());
}
catch(NoSuchAlgorithmException e)
{
e.printStackTrace();
}
catch(UnsupportedEncodingException e)
{
e.printStackTrace();
}
return sha1;
}
private static String byteToHex(final byte[] hash)
{
Formatter formatter = new Formatter();
for (byte b : hash)
{
formatter.format("%02x", b);
}
String result = formatter.toString();
formatter.close();
return result;
}