当前位置:  开发笔记 > 编程语言 > 正文

哈希与数字身份证

如何解决《哈希与数字身份证》经验,为你挑选了1个好方法。

在创建Web应用程序时,如何显示重复实体(YouTube上的视频,或像我的网站上的书籍部分)的唯一标识符的显示,最好使用统一长度标识符,如哈希或唯一数据库中项目的键(1,2,3等).

除了揭示一点,我认为是非物质的,关于你的应用内部的信息,为什么使用哈希比仅使用唯一ID更好?

简而言之:哪个更好地用作公开显示的唯一标识符 - 哈希值或数据库中的唯一键?

编辑:我再次打开这个问题,因为Dmitriy提出了不要将命名绑定到db特定属性的好处.这种束缚会阻止我将来优化​​/规范化数据库吗?

该平台使用php/python和ISAM/w MySQL.



1> ʇsәɹoɈ..:

除非你试图隐藏你的内部对象ID计数器的状态,否则哈希不必要地慢(生成和比较),不必要的长,不必要的丑陋,以及不必要的冲突.GUID也很长而且丑陋,使它们像哈希一样不适合人类消费.

对于类似库存的东西,只需使用顺序(或分片)计数器.如果迁移到其他数据库,则只需将新计数器初始化为至少与最大现有记录ID一样大的值.几乎每个数据库服务器都为您提供了一种方法.

如果你正在试图隐瞒你的计数器的状态,也许是因为你是计数的用户,不希望竞争对手知道你有多少,我建议避免你的内部ID的显示.如果您坚持要显示它们并且不想要散列的缺点,您可以考虑使用最大周期线性反馈移位寄存器来生成ID.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有