我希望为移动应用程序记录一些简单的使用统计信息。基于用户隐私考虑,如果可能的话,我不想在数据库中存储他们的实际设备序列号。是否有一种简单的算法可以将序列号哈希或转换为匿名标识符,并且不能被反向重构,同时仍然保证唯一性?
是的,您需要使用UUID。几乎所有的编程语言都有这个功能。 据我所知,它们无法被反转以获取原始“种子”。
创建设备序列号的哈希值。哈希是一种单向加密方式。使用SHA-256算法。
现在,根据输入的大小,哈希函数可能会产生一些冲突,在某些(非常罕见)情况下,这会导致您的唯一标识符不唯一。为了避免这种情况,您可以附加一些其他任意信息,例如IP地址或时间戳。
[SHA-256 of serial number][Time Stamp][Data to store]