用户登录账户的md5字符串做为用户的唯一ID,分表存数据时用用户的ID hash一个数(0,1,2,3,4,5,6,7,8,9)中的一个就是要保存的表的标示,怎么生成这个数字,node有库吗
回复 (11)
Y
自定义 hash function 即可。
L
加起来取余可以吧
C
Number.parseInt( hash ,16)
X
别用 md5 啊,字符串哈希成 int 有很多算法的。
$ npm install --save -d bling-hashes
B
@xadillax 多谢 , 用户名是唯一的 md5后肯定是唯一的
B
多谢各位 @xadillax 为了唯一性 选择了md5, @yjhjstz 自定义hash 有demo吗,参考参考
X
引用 blackjack多谢各位 @xadillax 为了唯一性 选择了md5, @yjhjstz 自定义hash 有demo吗,参考参考
@blackjack 你确定 md5 是唯一的?
X
引用 blackjack多谢各位 @xadillax 为了唯一性 选择了md5, @yjhjstz 自定义hash 有demo吗,参考参考
@blackjack 我上面给你的包就是成熟的自定义哈希函数。
Y
md5 存在理论上碰撞可能。
J
引用 blackjack@xadillax 多谢 , 用户名是唯一的 md5后肯定是唯一的
@blackjack 理论上即使用户名唯一md5后也有碰撞的可能性的
X
引用 blackjack@xadillax 多谢 , 用户名是唯一的 md5后肯定是唯一的
@blackjack 这可不一定
参与回复
登录后即可参与回复。登录