我有一个.xls
文件记录特定页面上公共 Facebook 帖子的列表,包括时间戳和消息作者。
出于研究原因,我想在网上分享它,但是,因为我想保护评论者的隐私,我想把他们的名字变成字母数字字符串。
因此,我正在考虑在 Java 中为作者姓名提供一个可能的散列函数。你有什么建议?我希望它尽可能内射(两个不同的字符串不会得到相同的哈希值)。
尝试 MessageDigest 和 Base64
MessageDigest md = MessageDigest.getInstance("SHA-1");
byte[] d = md.digest("John Smith".getBytes());
String str = javax.xml.bind.DatatypeConverter.printBase64Binary(d);
System.out.println(str);
输出
5ho1h7P3oUK4x7kmPIL4EZOY7Lc=
一个不错的选择是 SHA-1 或 RIPEMD-160。它们在密码学上很强大,即使是 MD5 在你的情况下也足够了。