首页 > 其他 > 详细

hash

时间:2018-08-18 12:36:30      阅读:141      评论:0      收藏:0      [点我收藏+]

Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

特征

hash值的计算过程是依据这个值的一些特征计算的,这就要求被hash的值必须固定,因此被hash的值是不可变的

不可变类型:

数字、字符串、元组

可变类型:

列表

语法

names = ("jack","tom","lily",1,2,3,3,2,2,2)
print(hash(names))
print(hash(123))
print(hash("abc"))

  输出

-4400841986320872870
123
-1069225786115799872

用途

文件签名

md5加密(网站中的用户名和密码(明文加密为密文。不能反解))

密码验证

hash不能保证每个映射都是一一对应,有时可能会出现不同值对应相同,所以通常用到hash要解决hash冲突。

hash

原文:https://www.cnblogs.com/fantsaymwq/p/9496640.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!