hashlib 库

hashlib 库

  hash 是一种算法,用来接收一系列数据,经过计算后得到一个hash值

  hash值的三大特征:

    1. 如果传入的数据一样,得到的hash值一样

    2. 只要采用的hash算法固定,无论传多少内容hash值的长度是固定的

    3. hash值不可逆,不能通过hash值倒推出内容

  hash用途:

    特征一和特征二: 效验文件是否完整,比较hash值是否一样

    特征三:用于加密, 将密码===> hash值(hash值不可逆) (可以将密码按百分比拆开,加盐然后算hash值)

import hashlibm=hashlib.md5()   # 括号内也可以传内容m.update(‘str1‘,encode(‘utf-8‘))    # 必须是bytes类型m.update(‘str2‘,encode(‘utf-8‘))    # 内容可以分开放进去print(m.hexdigest())

将文件加密:import hashlibwith open(‘r.txt‘,‘rb‘)  m=hashlib.md5()  for line in f:    m.update(line)   print(m.hexdigest())补充: 逐行打开文件,速度太慢,一般都选择抽样进行效验

 

原文地址:https://www.cnblogs.com/Afrafre/p/10077779.html

时间: 2024-10-05 05:43:53

hashlib 库的相关文章

python通过hashlib库将密码hash后存入数据库

通过Python将密码hash后存入MySQL数据库中,构建一个自己的密码库MySQL版本:5.6python 版本:3.6pycharm:community 2019.2.4 创建相关表 CREATE TABLE society.18wangcode_sha1_hash(id INT(9) AUTO_INCREMENT PRIMARY KEY,pwd VARCHAR(60) NOT NULL, hash_values VARCHAR(40) NOT NULL); Python代码 通过hash

python的hashlib库

import hashlib password ='12f3456' m = hashlib.md5(password.encode()) # m1=hashlib.sha1(password.encode()) #sha1加密方法 # m2=hashlib.sha224(password.encode()) print(password.encode()) #字符串encode变成二进制 b'123456',字符串只能转换成二进制的才能进行加密 print(dir(m)) #将m能用的方法全部

Python 用hashlib求中文字符串的MD5值 (转自 haungrui的专栏)

使用过hashlib库的朋友想必都遇到过以下的错误吧:“Unicode-objects must be encoded before hashing”,意思是在进行md5哈希运算前,需要对数据进行编码.而且在不同版本的Python下还有所不同,唉Python还需努力啊,接口和消 息都很不稳定. hashlib.md5(data)函数中,data参数的类型应该是bytes.也就是说我们在进行hash前必须把数据转换成bytes类型,对于C程序而言似乎没有类似问题,指针强制转换就OK了. 对于中文,

hashlib对密码进行加密

1.导入hashlib库 import hashlib 2.对密码进行加密 newUser = User() #这里的User是我们导入的model m=hashlib.md5() m.update(dictData['password'].encode('utf-8')) #dictData是前端传过来的form newUser.password = m.hexdigest() 原文地址:https://www.cnblogs.com/daicw/p/12058504.html

ansile(2)模块之get_url

ansible  get_url将文件从HTTP,HTTPS或FTP下载到节点 参数 是否必须 默认 选项 说明 attributes no None yes no 文件或目录的属性应该是.要获得支持的标志,请查看taget系统上chattr的手册页. backup no no 创建一个包括时间戳信息的备份文件,这样你可以得到原始文件,如果你不正确地弄错了. checksum no 如果将校验和传递给此参数,则将在下载目标文件的摘要后计算摘要,以确保其完整性,并验证传输是否成功完成.格式:<al

PHP中“==”运算符的安全问题

在2011年,PHP官方漏洞追踪系统发现,当字符串与数字在进行比较的时候,程序会出现某些非常奇怪的现象.从安全的角度出发,这个问题实际上并不能算是一个安全问题.比如说,你可以看到下面这段代码: 实际上,当使用类似“==”这样的比较运算符进行操作时,就会出现这样的情况.上面这个例子中出现的问题不能算是一个漏洞,因为它是PHP所提供的一种名为“类型转换”的功能.从本质上来分析,当我们使用特定的比较运算符(例如== , !=, <>)来进行操作时,PHP首先会尝试去确定参与比较的数据类型.但是这样的

OpenStack Horizon 参数设置说明

OpenStack Horizon 参数设置说明 一.写在前面 这篇文章主要介绍了OpenStack(Mitaka) Horizon官方介绍的部署配置.参数设置说明,从而进行简单的翻译学习,这里主要基于目前最新的Mitakaz版本来说明,帮助自己理解Mitaka Horizon中新增的一些参数功能,提高自己在horizon组件开发方面的理解.因为时间仓促以及个人理解有限,固有错误的地方请指出,后续将会不定期更新完善,谢谢! 如果转载,请保留作者信息. 邮箱地址:[email protected]

Python 加密解密算法

呃,今天来看看加密和解密,本文讨论base64和hashlib库: 来看看HASHLIB,他是一种单向摘要出定长字符串的方法: 撸代码: In [18]: import time,hashlib In [19]: t = int(time.time()) In [20]: t Out[20]: 1495597851 In [21]: md = hashlib.md5('test%s' %t) In [22]: md.hexdigest() Out[22]: '8ed81a627d94055cd3

Tornado Etag实现源码分析

Etag(URL的Entity Tag): 对于具体Etag是什么,请求流程,实现原理,这里不进行介绍,可以参考下面链接: http://www.oschina.net/question/234345_42536?sort=time https://zh.wikipedia.org/wiki/HTTP_ETag Tornado实现分析: 先从Tornado处理一个请求的调用顺序开始看(摘自文档:http://www.tornadoweb.cn/documentation): 程序为每一个请求创建