码迷,mamicode.com
首页 > 编程语言 > 详细

Python全栈之路----hash函数

时间:2019-01-12 00:17:32      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:str   转换   列表   翻译   元组   要求   hash   不可变   依据   

hash函数:

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

    1.特征:被hash的值不变,对应hash的值一定是不变的。(hash的值的计算过程是依据这个值的一些特征计算的,这就要求hash的值必须固定,因此被hash的值是不可变的。)

        不可变:数字,字符串,元组;可变:列表。

>>> hash(alex)
-7043802833819298431
>>> hash(alex)
-7043802833819298431
>>> hash(alexx)
4559968772027997698

    2.用途:文件签名(加一个文件签名,确认文件没有被篡改),md5加密(例如,你输入的密码通过md5加密后放入数据库,因为md5不能反解,所以工程师是不可能知道你的密码的),密码验证。

 

Python全栈之路----hash函数

标签:str   转换   列表   翻译   元组   要求   hash   不可变   依据   

原文地址:https://www.cnblogs.com/Moxiaoyu666/p/10258168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!