小米科技|Python哈希表:了解哈希函数与字典

文章图片

你是否想过Python字典是如何快速与可靠的?答案是它们建立在另一种技术之上:哈希表 。
了解Python哈希表的工作方式将使你对Python字典的工作方式有更深入了解 , 这对于Python理解是一个很大的优势 , 因为字典在Python中几乎无处不在 。
哈希函数是一种可以将任意长度的数据映射到固定长度的值(称为hash)的函数 。
哈希函数具有三个主要特征:
- 它们的计算速度很快:计算一条数据的哈希值必须是一项快速的操作 。
- 【小米科技|Python哈希表:了解哈希函数与字典】它们是确定性的:相同的字符串将始终产生相同的哈希值 。
- 它们产生固定长度的值:无论您输入的是1个 , 10个字节还是1万个字节都没有关系 , 生成的哈希将始终具有固定的预定长度 。
有很多东西依赖于哈希 , 而哈希表只是其中之一 。
一个具体的例子是 , 当尝试从Internet下载开源软件时 , 通常 , 您还会找到一个附属文件 , 该文件是文件的签名 。 此签名只是原始文件的哈希 , 它非常有用 , 因为自己计算原始文件的哈希 , 然后根据网站提供的签名进行检查 , 则可以确保下载的文件没有已被篡改 。
哈希的另一种常见用法是存储用户密码 , 或许你曾经问过自己为什么忘记网站密码并尝试恢复该密码时 , 该网站通常允许选择另一个密码而不是将原来选择的密码还给我们?答案是该网站不会存储你选择的整个密码 , 而只会存储其哈希值 。
这样做是出于安全原因 , 如果某些黑客可以访问站点的数据库 , 则他们将无法知道您的密码 , 而只能知道密码的哈希值 , 并且由于哈希函数通常是单向函数 , 因此可以确定他们将永远无法从哈希开始找回你的密码 。
Python哈希表在开发过程中是最常见的功能 , 特别是哈希函数与字典的使用 。
推荐阅读
- 银河系|不用一万光年,银河系就是一座黑暗森林|近期科技趣评
- 中国载人航天|中国载人航天科普展亮相中国科技馆,观众可体验航天员选拔训练
- 公安县|公安县:科技兴农,无人机田间忙“春耕”
- 四川|解码四川科技丨打破国外垄断!这项技术每年救治上万名甲状腺癌患者
- 4步走熬小米粥,小米香浓米油多! 真的好吃
- 天冷的时候来碗小米粥暖暖胃,这样熬的米汤粘稠美味营养不流失
- 熬小米粥“最忌”直接下锅,多加1步,米油浓厚,粘稠好喝
- 小米和它天生一对,每天喝一碗,美味又营养,全家都爱喝
- 哈尔滨工业大学|2020“中国高等学校十大科技进展”揭晓!
- 华中科技大学|华科大《Science》子刊:新型铁电体材料取得重要突破!
