java - 在 Java 中创建 Base64 编码的 SHA-256 哈希

标签 java oracle11g

<分区>

我们需要读取文件内容并将其转换为SHA256,然后再转换为Base64。

任何指针或示例代码都可以,因为我是这种加密机制的新手。

提前致谢。

最佳答案

使用 Java 8:

public static String fileSha256ToBase64(File file) throws NoSuchAlgorithmException, IOException {
    byte[] data = Files.readAllBytes(file.toPath());
    MessageDigest digester = MessageDigest.getInstance("SHA-256");
    digester.update(data);
    return Base64.getEncoder().encodeToString(digester.digest());
}

顺便说一句:SHA256 不是加密,它是散列。散列不需要 key ,加密需要。加密可以逆转(使用 key ),散列不能。更多关于维基百科:https://en.wikipedia.org/wiki/Hash_function

关于java - 在 Java 中创建 Base64 编码的 SHA-256 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42486709/

相关文章:

java - 缓解 Tomcat 8 上的慢速 HTTP 发布漏洞

java - 从 Oracle 表中确认删除行

java - hibernate 和 oracle 序列 GenericGenerator 造成差距

sql - Oracle Forms 11g - 将文件作为 PDF 而不是 TXT 通过电子邮件发送

java - 将接口(interface)与类关联而无需访问源代码

java - Firebase 助手错误 : Failed to resolve: firebase-messaging-15. 0.0

java - 从 Java 7 升级到 Java 8 时,Grails 2.4.2 应用程序的 JVM 崩溃

java - 无法在 keycloak 中创建用户。获取 403 状态

sql - 在 PL/SQL 中未使用游标进行更新

带有 PARALLEL 提示的 SQL 查询分配的进程比指定的多得多