我什么我用hash函数获得的值只有10位?
我想请问一下我在网上看到有的人获得字符串的hash值很长,而我的却只有10位,然后我想通过hash来设置字符串的id,但是数据太大,而hash值太短,一直出现重复的id,这个怎么解决?是电脑本身的问题,还是可以通过代码设置获取19位hash值? import hashlibresult=hashlib.md5(b'123456').hexdigest()
print(result)
>>>e10adc3949ba59abbe56e057f20f883e
不是这样的么? 疾风怪盗 发表于 2020-10-8 18:24
>>>e10adc3949ba59abbe56e057f20f883e
不是这样的么?
print(hash("123456"))
我是这样写的 结果是-830300730,只有9位 Yuan_hibiscus 发表于 2020-10-8 18:32
print(hash("123456"))
我是这样写的 结果是-830300730,只有9位
没用过这个内置函数。。。。。不清楚
https://www.runoob.com/python/python-func-hash.html
看这介绍也没说清楚
而且这个值还不断变化的,每次刷新都不一样。。。。。。。
不要用这个了呗,教程里是用的这个算MD5
import hashlib
result=hashlib.md5(b'123456').hexdigest()
print(result)
疾风怪盗 发表于 2020-10-8 18:41
没用过这个内置函数。。。。。不清楚
https://www.runoob.com/python/python-func-hash.html
我想用来作为主键,md5可以吗? hahs返回的是对象的hash,不是字符串的哈希 Yuan_hibiscus 发表于 2020-10-8 18:45
我想用来作为主键,md5可以吗?
不知道你说的主键是什么。。。。。。{:10_284:}
md5大体上算是唯一的,碰到相同的概率蛮小的,而且不可逆算,现在不是普遍都用这个么 疾风怪盗 发表于 2020-10-8 18:47
不知道你说的主键是什么。。。。。。
md5大体上算是唯一的,碰到相同的概率蛮小的,而且不 ...
好的 谢谢 萌出血 发表于 2020-10-8 18:46
hahs返回的是对象的hash,不是字符串的哈希
我的对象不是字符串吗? Yuan_hibiscus 发表于 2020-10-8 19:14
我的对象不是字符串吗?
那是字面量,const字面量 Yuan_hibiscus 发表于 2020-10-8 19:14
我的对象不是字符串吗?
内置函数hash和haslib库不是一回事
页:
[1]