1 hashlib模块的作用:

hashlib是一个提供字符串加密功能的模块,包含MD5和SHA的算法,MD5和SHA是摘要算法,摘要算法是什么呢:

也可以称为哈希算法,离散算法。通过一个函数将任意长度的数据转化为一个长度固定的数据串,摘要函数是一个单向函数,计算f(data)很容易,但是通过digest反推data非常困难,对data做任意修改,计算出的摘要完全不相同。

2 以MD5算法为例使用hashlib:

md5算法特点:

  • 该算法不可逆
  • 不同字符串通过这个算法计算得到的密文总不相同
  • 相同算法以及相同的字符串获得的密文结果总是相同

用法实例:

import hashlib
new_md5=hashlib.md5()
new_md5.update('guo')
ret=new_md5.hexdigest()# ret 为加密后的字符串

函数形式实现加密操作:

import hashlib
def get_ret(s):new_md5=hashlib.md5()new_md5.update(s)ret=new_md5.hexdigest()return retget_ret('guo')

用户验证登录:

import hashlib
def get_ret(s)new_md5=hashlib.md5()new_md5.update(s)ret = new_md5.hexdigest()return ret
username = input('username:')
password = input('password:')
with open('userinfo') as f:for line in f:usr, pwd = line.strip().split('|')if username == usr and get_ret(password) == pwd:print '登陆成功'breakelse:print('登录失败')

python中的hashlib模块相关推荐

  1. 介绍Python中的__future__模块

    这篇文章主要介绍了介绍Python中的__future__模块,__future__模块使得在Python2.x的版本下能够兼容更多的Python3.x的特性,需要的朋友可以参考下 Python的每个 ...

  2. python中的logging记录日志_[ Python入门教程 ] Python中日志记录模块logging使用实例...

    python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...

  3. python使用教程cmd啥意思-Python 中的cmd模块学习

    Python中的cmd模块类型提供了一个创建命令行解析器的框架.简单的来说,可以继承Cmd来创建命令行界面,然后对所有想处理的命令command执行do_command方法.默认情况下,它使用read ...

  4. python中的绘图模块turtle的使用

    python中的绘图模块turtle的使用(7-20190125) 文章目录: 还是从一个有趣的小应用开始,turtle的骚操作吧 最近小猪配齐比较流行,下面用turtle绘制一个粉红色的小猪猪吧-- ...

  5. linux系统python截图不显示中文_Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题...

    本文主要向大家介绍了Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题,通过具体的内容向大家展现,希望对大家学习Linux运维知 ...

  6. Python中的random模块

    Python中的random模块用于随机数生成,对几个random模块中的函数进行简单介绍.如下: random.random() 用于生成一个0到1的随机浮点数.如: import random r ...

  7. python中的log模块笔记

    日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日志输出中添 ...

  8. python中的系统模块_python中一些获取系统信息的模块

    1.platform模块 python中,platform模块给我们提供了很多方法去获取操作系统的信息 如: import platform platform.platform() #获取操作系统名称 ...

  9. 深入理解python中的select模块

    简介 Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqueue ...

最新文章

  1. docker 自定义网桥
  2. 洛谷 P1197 [JSOI2008]星球大战
  3. 2022年全球及中国燃气供应系统 (FGSS)行业设施规模与十四五布局建设报告
  4. python面向对象(2)——继承(4)
  5. CentOS/RHEL6.5中使用WordPress快速建站
  6. rs232转usb驱动for server 2008_电子史 · 什么插头是需要转一圈才能插进去的?
  7. JVM垃圾回收机制学习
  8. c++动态绑定的技术实现
  9. ecshop 后台添加评论_技术小白如何添加服务号模板消息?服务号的模板消息功能到底该怎么使用?...
  10. VMware 克隆的相关设置
  11. i++与++i的区别+汇编分析
  12. Hadoop集群配置(二)免密登录和集群配置
  13. Renesas:RH850的FDL库的移植与使用
  14. 端口扫描工具NMAP(个人总结)
  15. (VS2008)Cannot open include file: 'windows.h': No such file or directory 解决办法
  16. 高德地图使用vue-amap 自定义点坐标
  17. windows环境开发,使用hbase报错。Could not locate executablenull\bin\winutils.exe in the Hadoop binaries
  18. 学习win32汇编指令:lea和offset
  19. STM32L0系列之【EEPROM读写】
  20. 什么是病毒?病毒有几种表现形式?中毒以后一般怎么处理!

热门文章

  1. 联想拯救者R9000p 双系统亮度调节解决方案
  2. 二叉树及先序遍历二叉树,中序遍历二叉树,后序遍历二叉树
  3. 使用baidu的api完成汉译英功能
  4. 使用DXT5纹理作为normalmap提高精度的方法
  5. php和Java哪个好?php和Java的对比
  6. python 自动化框架打包_python+requests接口自动化框架
  7. Matlab code for Gauss-Seidel and Successive over relaxation iterative methods
  8. 0-1前端在线网页微博思路
  9. vue中自适应rem的设置及vant组件库px自动修改为相对大小的方法两则(postcss-pxtorem和postcss-px-to-viewport)
  10. 笔记与总结:高翔《视觉SLAM十四讲》第一讲