网站首页 > 基础教程 正文
你是否想过Python字典是如何快速与可靠的?答案是它们建立在另一种技术之上:哈希表。
了解Python哈希表的工作方式将使你对Python字典的工作方式有更深入了解,这对于Python理解是一个很大的优势,因为字典在Python中几乎无处不在。
哈希函数是一种可以将任意长度的数据映射到固定长度的值(称为hash)的函数。
哈希函数具有三个主要特征:
- 它们的计算速度很快:计算一条数据的哈希值必须是一项快速的操作。
- 它们是确定性的:相同的字符串将始终产生相同的哈希值。
- 它们产生固定长度的值:无论您输入的是1个,10个字节还是1万个字节都没有关系,生成的哈希将始终具有固定的预定长度。
哈希函数中另一个很常见的特征是它们通常是单向函数:因此你可以从字符串中获取哈希,但无法从哈希中获取原始字符串。
有很多东西依赖于哈希,而哈希表只是其中之一。
一个具体的例子是,当尝试从Internet下载开源软件时,通常,您还会找到一个附属文件,该文件是文件的签名。此签名只是原始文件的哈希,它非常有用,因为自己计算原始文件的哈希,然后根据网站提供的签名进行检查,则可以确保下载的文件没有已被篡改。
哈希的另一种常见用法是存储用户密码,或许你曾经问过自己为什么忘记网站密码并尝试恢复该密码时,该网站通常允许选择另一个密码而不是将原来选择的密码还给我们?答案是该网站不会存储你选择的整个密码,而只会存储其哈希值。
这样做是出于安全原因,如果某些黑客可以访问站点的数据库,则他们将无法知道您的密码,而只能知道密码的哈希值,并且由于哈希函数通常是单向函数,因此可以确定他们将永远无法从哈希开始找回你的密码。
Python哈希表在开发过程中是最常见的功能,特别是哈希函数与字典的使用。
猜你喜欢
- 2025-05-02 Python代码使用字典推导式(python的字典怎么用)
- 2025-05-02 失业程序员复习python笔记——字典和集合(2)
- 2025-05-02 Python中删除字典元素的方法(python 字典 删除)
- 2025-05-02 探索 Python 中字典推导式的艺术性
- 2025-05-02 如何在Python中按值对字典进行排序?
- 2025-05-02 失业程序员复习python笔记---字典和集合(1)
- 2025-05-02 Python 字典合并、求和大作战,轻松搞定各路数据
- 2025-05-02 Python 访问字典视图 #python爬虫
- 2025-05-02 python学习——025python遍历字典四种方法
- 2025-05-02 一文掌握Python 字典遍历的8种方法
- 最近发表
-
- 碎片时间学Python-01安装Python(python详细安装教程3.8)
- Python安装(python安装教程)
- Python pip安装与使用步骤(python3.6 pip安装)
- 第二篇:如何安装Python并运行你的第一个程序
- Python入门教程:安装(python安装教程2020)
- 常用的Python库安装方法(Python实用教程)
- Python下载与安装教程(很详细)(python下载安装教程3.9.1)
- python安装教程(小白入门)(python安装详细步骤)
- 详解pip的基本使用和离线安装Python第三方库
- (一)从零开始安装Python(然后安装python)
- 标签列表
-
- 菜鸟教程 (58)
- jsp (69)
- c++教程 (58)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)