【发布时间】:2013-07-22 12:48:57
【问题描述】:
我需要使用 SHA-256-'encrypted' 字符串作为文件系统(ext3、fat、ntfs、...)中路径的一部分。
我尝试使用 Base64 对其进行编码,但这并不适用于所有情况,因为 Base64 编码的字符串可能包含“/”、“\”或其他无效字符。
是否有一种(简单的)方法来获取 SHA-256-'加密'-字符串的文件系统安全名称?我不喜欢对所有可能的无效字符使用 String.replaceAll()。
提前感谢您的帮助
【问题讨论】:
-
SHA512 不是加密,而是散列。
-
为什么不能只使用 SHA256 哈希,那里没有无效字符?
-
@HeinAndréGrønnestad 哈希只是一组位。你指的是十六进制表示吗?
-
@hexafraction 是的,我是。那将只有 0-9 和 a-f 字符。
-
为什么不使用 UUID。它保证是唯一的,并且会比 SHA-256 短。