一句话回答
哈希是单向函数的输出,把任意输入映射成固定长度的字符串。同样的输入总是得到同样的哈希值,但无法从哈希值反推出输入。
哈希怎么工作
把 anna@example.com 交给 SHA-256,会得到一个 64 位的字符串。再算一次还是同一个字符串;改一个字母,结果就完全不同。没有任何钥匙能把这个字符串变回邮箱地址。
所以哈希适合“不交出数据也能匹配”:两个系统各自把邮箱哈希一下,比较结果,谁都看不到对方名单的明文。广告平台做转化匹配用的就是这个办法。
为什么要加盐
对一个很小的取值集合直接做哈希,很容易靠猜来反推:IPv4 地址一共只有大约 43 亿个,电脑很快就能全部算一遍。盐——混进输入里的一个保密值——能挡住这种做法:没有盐,谁也重建不出对照表。
盐还决定了能不能关联。盐不变,同样的输入明天得到同样的哈希,回访的访客能被认出;盐每天更换、旧盐删掉,昨天的哈希就再也关联不到今天。
哈希过不等于匿名
在 GDPR 这类法律下,哈希过的标识通常算假名化数据,而不是匿名数据:只要有盐和原始值,任何人都能重新算出来,而且它仍然能把某一个人的行为单独挑出来。哈希过的邮箱和访客 ID 要当作个人信息对待,访问权限和保存期一样要管。
TapCub 里的哈希
TapCub 用带密钥的哈希(HMAC-SHA256),对保密的站点盐、站点、IP 地址和浏览器计算访客 ID,只保存结果——IP 地址从不写进数据库。严格模式下盐每天轮换;平衡模式下盐保持不变,回访的浏览器能被认出。独立 IP 数用的是另一个按日加盐的哈希,存在一种根本无法反推的结构里。
广告点击 ID 在报表里以哈希形式保存;导入线下转化时,邮箱和手机号可以先用 SHA-256 哈希再上传,不需要上传原始联系方式。
延伸阅读:服务端埋点和第一方数据策略。另见不让个人信息进入统计数据。
这个解释清楚吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。
