Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python模块——hashlib

python模块——hashlib

作者头像
py3study
发布于 2020-01-07 11:22:25
发布于 2020-01-07 11:22:25
48200
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

hashlib模块是对许多hash函数的一个公共接口 new(name, string = '')    执行给定的hash函数来返回一个新的hash对象,使用给定的字符串数据初始化hash对象。如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> import hashlib
>>> hashlib.new('md5', string='abc').hexdigest()    #hexdigest() 使加密后的结果以十六进制显示
'900150983cd24fb0d6963f7d28e17f72'

一些别的hash函数可用来代替new(),并且速度比new()函数快的多,常用的函数有: md5(), sha1(), sha224(), sha356(), sha384(), sha512() 提示:如果要用adler31()和crc32 hash函数,它们在zlib模块中可用。明智的选择hash函数,一些常见的错误如sha384和sha512在32位的平台上速度有些慢。

hash对象有以下常用方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- update(arg):    使用string arg更新hash对象。多次调用update和使用串联的参数一次调用update是等价的
- digest():    返回二进制字符串
- hexdigest():    返回十六进制字符串
- copy():    返回hash对象的一个克隆,这可用于高效的计算共享一个相同初始子字符串的digests字符串。

下面例子,将会得到字符串'Nobody inspects the spammish repetition'的加密结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    >>> import hashlib
    >>> m = hashlib.md5()    #创建一个加密对象
    >>> m.update("Nobody inspects")    #更新字符串
    >>> m.update(" the spammish repetition")
    >>> m.digest()    #显示加密后的结果
    '\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

可以将多个函数在一行中使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    >>> hashlib.md5("Nobody inspects the spammish repetition").digest()
    '\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

关于对象一些方法:

    object.digest_size    结果hash的大小

    object.block_size    hash内部块的大小

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    >>> import hashlib
    >>> m.update("Nobody inspects")
    >>> m.digest_size
    16L
    >>> m.block_size
    64L
    >>>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用Python 生成hash值
如果在Python中需要对用户输入的密码或者其他内容进行加密,首选的方法是生成hash值。 在Python中可以利用二个模块来进行: - crypt - hashlib
py3study
2020/01/10
1.3K0
python模块之hashlib
hashlib模块实现了多种安全哈希和信息摘要算法的通用接口,包括FIPS中定义的SHA1, SHA224, SHA256, SHA384, SHA512以及RFC 1321中定义的MD5
py3study
2020/01/06
7570
python模块之hashlib
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
菲宇
2019/06/13
5890
字符串的这个东西-翻译表
不知道大家是否见过这个东西,反正我清楚记得我是见过的,可是为什么会写这个东西?有以下一个场景: 怎样将一个字符串中的中文字符统一转换成英文字符? 不知道大家会怎样去做?先列举一个例子: 'hello
py3study
2020/01/02
1.1K0
python学习笔记——hashlib模块「建议收藏」
上篇:https://blog.csdn.net/qq_42489308/article/details/89813895
全栈程序员站长
2022/06/30
2660
python学习笔记——hashlib模块「建议收藏」
2021Kali — 木马免杀制作
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171466.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/24
6530
2021Kali — 木马免杀制作
各种转码(bytes、string、base64、numpy array、io、BufferedReader )
https://www.cnblogs.com/zhuminghui/p/11359858.html
全栈程序员站长
2022/09/14
7.1K0
【测试开发】python系列教程:hashlib 模块
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
雷子
2023/08/25
2400
【测试开发】python系列教程:hashlib 模块
python hashlib模块
hashlib模块:用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
py3study
2018/08/02
3830
hashlib模块[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130354.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/01
2060
hashlib模块[通俗易懂]
BST:一款功能强大的二进制字符串代码格式转换工具
BST是一款功能强大的二进制字符串代码格式转换工具,该工具可以将二进制字符串转换为能够兼容不同语言源代码的各种格式,以满足各种安全开发领域中的渗透测试或漏洞利用开发场景。
FB客服
2024/04/15
3260
BST:一款功能强大的二进制字符串代码格式转换工具
PCMAN FTP STOR命令栈溢出
    继XX同学上个学期对PCMAN FTP这个软件进行了残暴的溢出测试(溢出点是FTP用户名,版本不清楚),我也开始学习逆向和溢出,谷歌上搜索pcman's ftp,找到了这个溢出exploit:http://www.exploit-db.com/exploits/27703/ 。作为我初学exp的试验工具~~
phith0n
2020/10/16
8510
PCMAN FTP STOR命令栈溢出
驱动开发:内核ShellCode线程注入
还记得《驱动开发:内核LoadLibrary实现DLL注入》中所使用的注入技术吗,我们通过RtlCreateUserThread函数调用实现了注入DLL到应用层并执行,本章将继续探索一个简单的问题,如何注入ShellCode代码实现反弹Shell,这里需要注意一般情况下RtlCreateUserThread需要传入两个最重要的参数,一个是StartAddress开始执行的内存块,另一个是StartParameter传入内存块的变量列表,而如果将StartParameter地址填充为NULL则表明不传递任何参数,也就是只在线程中执行ShellCode代码,利用这个特点我们就可以在上一篇文章的基础之上简单改进代码即可实现驱动级后门注入的功能。
王瑞MVP
2023/06/14
5890
驱动开发:内核ShellCode线程注入
hashlib模块,hmac模块
hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、MD5 算法),该算法接受传入的内容,经过运算得到一串hash值。
小小咸鱼YwY
2019/07/24
7650
【python 3.6】如何将list存入txt后,再读出list
今天遇到一个需求,就是将一个list文件读取后,存入一个txt配置文件。存入时,发现list文件无法直接存入,必须转为str模式。
BH8ANK
2021/01/28
6230
关于Metasploit 5中测试模块的移植与验证
如果针对某一程序或软件已经有了相应的渗透模块,此时再去写一个实现类似功能的模块就显得多此一举。然而,并非所有的渗透模块都是基于Metasploit框架开发的,其中有很多是用Perl、Python或者C/C++语言编写的,所以导致了这些模块不能直接在Metasploit中使用。此时需要将现有的渗透模块移植成为与Metasploit框架相兼容的模块,移植成功之后,不仅能够实现原有模块的功能,还可以利用Metasploit框架提供的各种丰富而又强大的工具来处理例行任务,同时可以动态切换攻击载荷,使渗透模块适用于更多的场景。
FB客服
2019/05/27
8380
python加密模块-hashlib模块
用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法 (sha比md5 更复杂、md5 不能反解) 具体应用:用于网站防篡改。具体方法:监控网站被篡改,定时的去wget 去下载,然后md5比对 ,检查网站是否被篡改。
py3study
2020/01/10
1.2K0
实战 | 记一次Word文档网络钓鱼以及绕过火绒,电脑管家和Windows Defender
**** 本文章仅供教学为目的,若该文章的技术造成财产损失,本文作者概不负责 ****
HACK学习
2023/01/03
1.5K0
实战 | 记一次Word文档网络钓鱼以及绕过火绒,电脑管家和Windows Defender
【翻译】创建线程shellcode注入
msfvenom -p windows/x64/shell_reverse_tcpLHOST=10.0.0.5LPORT=443-f c -b \x00\x0a\x0d
Ms08067安全实验室
2019/09/24
1.3K0
【翻译】创建线程shellcode注入
浅谈 PHP 变量可用字符[通俗易懂]
先来说说php变量的命名规则,百度下一抓一大把: (1) PHP的变量名区分大小写; (2) 变量名必须以美元符号$开始; (3) 变量名开头可以以下划线开始; (4) 变量名不能以数字字符开头.
全栈程序员站长
2022/09/02
8910
相关推荐
利用Python 生成hash值
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验