Python hash() 函数
Python hash() 函数语法
hash(obj)
参数
参数描述
obj对象
返回值
返回对象的哈希值。
用途
hash() 函数的对象字符不管有多长,返回的 hash 值都是固定长度的,也用于校验程序在传输过程中是否被第三方(木马)修改,
如果程序(字符)在传输过程中被修改hash值即发生变化,如果没有被修改,则 hash 值和原始的 hash 值吻合,
只要验证 hash 值是否匹配即可验证程序是否带木马(病毒)。
例子
>>> hash("test")
-8637035830407981545
>>> hash("test.")
5031092287746906353
>>> hash(str()) # hash() 函数可以应用于数字、字符串和对象,不能直接应用于 list、set、dictionary。
-3606797123897954227
>>> hash(str({"鱼C工作室" : "fishc.com.cn"}))
845437774857979276 本帖最后由 永恒的蓝色梦想 于 2020-4-10 21:13 编辑
一种可能的实现def hash(obj,/):
if obj.__hash__ is None:
raise TypeError(f"unhashable type: '{obj.__class__.__name__}'")
else:
temp=obj.__hash__()
if isinstance(obj,int):
return temp.__hash__()
else:
raise TypeError("__hash__ method should return an integer") 永恒的蓝色梦想 发表于 2020-4-10 18:33
一种可能的实现…… _2_ 发表于 2020-4-10 18:44
一种可能的实现……
懒得加了 _2_ 发表于 2020-4-10 18:44
一种可能的实现……
??
P.S. 你换头像了,我差点没认出来。。。 一个账号 发表于 2020-4-10 19:35
??
P.S. 你换头像了,我差点没认出来。。。
他早换了……{:10_327:} 永恒的蓝色梦想 发表于 2020-4-10 21:05
他早换了……
Ta 又换了一个,你 Ctrl+F5 硬性刷新一下 一个账号 发表于 2020-4-10 21:16
Ta 又换了一个,你 Ctrl+F5 硬性刷新一下
自己搞了一个
页:
[1]