用户登录账户的md5字符串做为用户的唯一ID,分表存数据时用用户的ID hash一个数(0,1,2,3,4,5,6,7,8,9)中的一个就是要保存的表的标示,怎么生成这个数字,node有库吗
自定义 hash function 即可。
加起来取余可以吧
Number.parseInt( hash ,16)
别用 md5 啊,字符串哈希成 int 有很多算法的。
md5
int
$ npm install --save -d bling-hashes
https://www.npmjs.com/package/bling-hashes
多谢各位 @xadillax 为了唯一性 选择了md5, @yjhjstz 自定义hash 有demo吗,参考参考
@blackjack 你确定 md5 是唯一的?
@blackjack 我上面给你的包就是成熟的自定义哈希函数。
md5 存在理论上碰撞可能。
@xadillax 多谢 , 用户名是唯一的 md5后肯定是唯一的
@blackjack 理论上即使用户名唯一md5后也有碰撞的可能性的
@blackjack 这可不一定
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
自定义 hash function 即可。
加起来取余可以吧
Number.parseInt( hash ,16)
别用
md5啊,字符串哈希成int有很多算法的。https://www.npmjs.com/package/bling-hashes
多谢各位 @xadillax 为了唯一性 选择了md5, @yjhjstz 自定义hash 有demo吗,参考参考
@blackjack 你确定 md5 是唯一的?
@blackjack 我上面给你的包就是成熟的自定义哈希函数。
md5 存在理论上碰撞可能。
@xadillax 多谢 , 用户名是唯一的 md5后肯定是唯一的
@blackjack 理论上即使用户名唯一md5后也有碰撞的可能性的
@blackjack 这可不一定