java - 用于匿名化用户名列表的哈希函数

标签 java facebook hash

我有一个 .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=

关于java - 用于匿名化用户名列表的哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19808406/

相关文章:

c++ - 字符串的独特性质构建高效的哈希表

java - 如何使 Class.forName 返回数组类型?

java - 这种转换是否意味着多态性设计被破坏了?

java - JNI 中的 GetByteArrayRegion

facebook - 从 Facebook 个人资料中获取 friend 的生日

ios 非对话 Facebook 分享失败,没有错误,也没有反馈

c - 哈希函数在同一输入上返回随机值

java - 我应该在哪里放置 close() 方法?

android - 我应该如何将社交媒体 SSO 与我的自定义登录服务正确集成?

git commit --amend - 未进行任何更改时更改提交哈希