一.hash算法

什么是hash?

类似工厂加工的过程,传bytes串,经过运算返回字符

hash相当于工厂,传给hash算法的内容是原材料,hash值为产品

为何用hash?

hash三大特性:

1.传入的内容一样,得到的hash值也必定一样

2.只要hash算法固定,hash值的长度一样,不应该随着文件的增大而增大

基于以上两点,可以在下载文件时,做文件一致性校验。

3.hash值不可以逆推出原来的内容,类似于加密的过程

基于1,3可以对密码进行加密

例如登陆功能,用户名和密码加密成hash值

输入账号密码,客户端把明文变成hash值,服务端直接比对hash值,服务端存就是hash值

比对依据是,hash值一样证明内容也一样。

如何用hash?

import hashlib

1.造hash工厂

m=hashlib.md5()

2.运送原材料

m.update()

3.print(m.hexidigest())

shelve 修改子字典 要用writeback改为True

python基础之Day20part1的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

随机推荐

  1. ubuntu 14.04解决wifi连接不稳定问题

    问题描述:开机后wifi功能可以使用,一段时间后无法上网,重启后正常. 三种方法: 一 将/etc/ppp/options 文件第232行中的 cp-echo-failure 4 改为 lcp-ech ...

  2. bootstrap-datetimepicker.js的漢化注意點

    1.要引入bootstrap.css ,datetime.picker.css 2.引入的JS文件如下: <script type="text/javascript" src ...

  3. efcore migration

    实体------->migration------->db ---------------------------------------------------------------- ...

  4. mysql 5.5数据导入5.7 Failed - Error on Table user - 1067 - Invalid default value for 'CREATE_date'

    表结构是这样 DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (....省略了一些无关紧要的字段 `CREATE_DATE_` timestamp NO ...

  5. Java数组操作十大方法 (转)

    定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c&q ...

  6. css:伪类和伪元素

    一:伪类 1.   :active   想被激活的元素添加样式 2.   :focus   向拥有键盘输入焦点的元素添加样式 3.   :hover   当鼠标悬浮在元素上方时,向元素添加样式 4.  ...

  7. Python相关文章

    1.一台计算机如何安装2个版本的python,互不影响呢 2.Eclipse和PyDev搭建完美Python开发环境(Windows篇) 3.基于官方教程的matplotlib简介

  8. Python 学习笔记01篇

    编程基础很零碎 看了路飞学城的讲解视频,整体课程列表排列很清晰,每个视频都在十几分钟到二十几分钟之间,适合零碎化的的学习 第一章和第二章的前半部分可以较轻松地入门

  9. Excel下拉选项二级联动

    在日常工作中,难免遇到操作excel的时候,二级联动下拉选项多用于像地市区县的应用场景 1)先把要联动的内容准备好,把它放到第二个sheet页中 2)操作级联的文本 全部选中之后,Ctrl+G -- ...

  10. java课程之团队开发冲刺1.1

    一.今日目标 1.完成课程助手的日期显示以及周数显示功能 2.将功能表改成侧面功能栏 3.将代码重新规范,尽量使得主函数简洁明了