【问题标题】:Algorithm for creating anonymous unique identifier from serial number从序列号创建匿名唯一标识符的算法
【发布时间】:2011-09-19 19:27:08
【问题描述】:

我想记录一些移动应用程序的简单使用统计信息。为了我的用户的隐私,如果可能的话,我不希望将他们的实际设备序列号存储在数据库中。是否有一种简单的算法可以将序列号哈希或转换为匿名标识符,并且不能反转,同时仍能保证唯一性?

【问题讨论】:

  • 如果无论如何都无法逆转,为什么不直接使用 Guid?
  • 我正在寻找基于设备序列号的东西,以便卸载/重新安装或新版本会生成相同的 ID,而不是错误地夸大用户计数器。看起来我只需要接受这个小偏差,并且会使用 GUID/UUID 之类的东西。

标签: algorithm privacy


【解决方案1】:

是的,您想使用UUID。几乎所有语言都有这个。 据我所知,它们无法逆转以取回原来的“种子”。

【讨论】:

【解决方案2】:

创建设备序列号的 HASH。根据定义,哈希是一种单向加密。使用 SHA-256 算法。

现在,根据输入的大小,哈希函数可能会产生一些冲突,这会导致您的唯一标识符在某些(非常罕见的)情况下不是唯一的。为避免这种情况,您可以向其附加一些其他任意信息,例如 IP 地址或时间戳。

[SHA-256 of serial number][Time Stamp][Data to store]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2011-08-25
    • 1970-01-01
    相关资源
    最近更新 更多