使用 DigestUtils 获取 base64 格式的 SHA256
Getting SHA256 in base64 format using DigestUtils
我正在尝试获取 base64 格式字符串的 SHA256 哈希值。
我正在使用 org.apache.commons.codec.digest
中的 DigestUtils
。我不知道如何获取Base64格式,即使我可以获取Hex格式。
Sha256String = org.apache.commons.codec.digest.DigestUtils.sha256Hex(StringText);
使用 "a"
作为字符串测试,这一行 returns
ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
但我真正需要的是ypeBEsobvcr6wjGzmiPcTaeG7/gUfE5yuYB3ha/uSLs
。
一直在不停地看书,看不懂怎么读。
现在我正在尝试这个
Byte[] digest = org.apache.commons.codec.digest.DigestUtils.sha256(StringText);
我需要将它存储在一个变量中,所以我正在尝试这个
String OutStr = new String(digest);
运气不好。我不知道还能在哪里搜索帮助,因为我已经阅读了所有 google 搜索很多次(如果答案在那里,我没有看到它)
我不会在 java 中编写代码,但这次我需要它才能开始工作!爱!
您可以使用Base64.Encoder.encodeToString()
方法将字节数组转换为Base64
。
这是一个简短的例子:(因为我不熟悉你的 util,只是用你的字节数组替换一些数据)
byte[] data = someData;
MessageDigest digester = MessageDigest.getInstance("SHA-256");
digester.update(data);
String base64Encoded = Base64.getEncoder().encodeToString(digester.digest());
我正在尝试获取 base64 格式字符串的 SHA256 哈希值。
我正在使用 org.apache.commons.codec.digest
中的 DigestUtils
。我不知道如何获取Base64格式,即使我可以获取Hex格式。
Sha256String = org.apache.commons.codec.digest.DigestUtils.sha256Hex(StringText);
使用 "a"
作为字符串测试,这一行 returns
ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
但我真正需要的是ypeBEsobvcr6wjGzmiPcTaeG7/gUfE5yuYB3ha/uSLs
。
一直在不停地看书,看不懂怎么读。
现在我正在尝试这个
Byte[] digest = org.apache.commons.codec.digest.DigestUtils.sha256(StringText);
我需要将它存储在一个变量中,所以我正在尝试这个
String OutStr = new String(digest);
运气不好。我不知道还能在哪里搜索帮助,因为我已经阅读了所有 google 搜索很多次(如果答案在那里,我没有看到它)
我不会在 java 中编写代码,但这次我需要它才能开始工作!爱!
您可以使用Base64.Encoder.encodeToString()
方法将字节数组转换为Base64
。
这是一个简短的例子:(因为我不熟悉你的 util,只是用你的字节数组替换一些数据)
byte[] data = someData;
MessageDigest digester = MessageDigest.getInstance("SHA-256");
digester.update(data);
String base64Encoded = Base64.getEncoder().encodeToString(digester.digest());