python之hash模块加密

1.什么是hash

    hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值

    1.如果把hash算法比喻为一座工厂

    2.那传给hash算法的内容就是原材料

    3.生成的hash值就是生产出的产品

2.为何要用hash算法

    hash值/产品有三大特性:

    1.只要传入的内容一样,得到的hash值必然一样

    2.只要我们使用是hash算法固定,无论传入的内容有多大,得到的hash值的长度是固定

    3.不可以用hash值逆推出原来的内容

    基于1和2可以在下载文件时做文件一致性校验

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

 

import hashlib

两种传值方式:

    1.造出hash工厂

    m=hashlib.md5()                      #hashlib.sha512 :可以选择不同的算法加密,不同的算法的加密结果的长度也会不一样

    2.运送原材料

    m.update('你好啊’.encode('utf-8'))

    3.产出hash值

    print(m.hexdigest)

    

1.

   1.造出hash工厂

    m=hashlib.md5('你'.encode('utf-8'))

 

   2.运送原材料

    m.update('你好啊’.encode('utf-8'))

    3.产出hash值

    print(m.hexdigest)

 

应用一:文件一致性校验

 

    1.造出hash工厂

    m=hashlib.md5()

    2.运送原材料

     with open(r'E:\01.mp4','rb') as f:
         for line in f:

             m.update(line)

    3.产出hash值

    print(m.hexdigest)

 

应用二:密码加密

    m=hashlib.md5()

    m.update('天王盖地虎'.encode('utf-8'))      #添加个暗号,提升密码复杂度
    m.update(password.encode('utf-8'))
    print(m.hexdigest()) 

 

加密模块另一个加密模块 hmac

import hmac

m=hmac.new('小鸡炖蘑菇'.encode('utf-8')) #用法跟hash一样的用法,但必须要传个值,增加密码难度性
m.update('hello'.encode('utf-8'))
print(m.hexdigest())

 

转载于:https://www.cnblogs.com/Marcki/p/10111951.html

Python中hash算法 文章目录简介概念特点hash有哪些算法碰撞加盐防碰撞加密hashlib主要方法特有方法使用方法加盐crypt主要方法使用说明应用密码加密应用一致性校验 简介 概念 散列算法(Hash Algorithm),又称哈希算法,杂凑算法,是一种从任意文件中创造小的数字「指纹」的方法。与指纹一样,散列算法就是一种以较短的信息来保证文件唯一性的标志,这种标志与文件的每一个字节都相关,而且难以找到逆向规律。因此,当原有文件发生改变时,其标志值也会发生改变,从而告诉文件使用者当前的文件已经不是你所需求的文件 Hash简单点 阅读详情

相关推荐

Python常用模块 之 hashlib&hmac:提供加密哈希函数的实现

Python常用模块 之 hashlib:提供加密哈希函数的实现

孤寒者的博客 3万+

【Python】 为什么在Python脚本的第一行写“#! usr bin env python”?

这行代码被称为shebang(也写作hashbang),它在Unix和类Unix系统中用于告诉系统这个脚本应该用哪个解释器来执行。下面,我将详细解释这行代码的含义,并展示几个示例代码。

PythonWeb实践 755

双参数威布尔分布(Weibull分布)参数计算(根据故障数据,求双参数威布尔分布的参数详细步骤)

根据故障数据求威布尔分布参数步骤 根据众多文献研究,设备故障数据大多服从指数分布、威布尔分布或对数正态分布。其中威布尔分布较为常用,本文主要介绍威布尔分布的简单应用,并根据某设备故障数据为例简单介绍威布尔分布参数的计算方法。 参考文献11参考文献22 1.双参数威布尔分布的概率密度函数、概率分布函数、可靠度函数: 2.预处理故障数据 将故障数据按时间排序,假设设备分别在以下时间点失效:11.1 、23.5、58.4……则将此时间从小到大排序。并计算中位秩。中位秩的计算公式如下: 其中i表示第几个数据,n

biaochengxiaobai的博客 4万+

Python 哈希加密的魔法盒子 ——hashlib模块全解析

hashlib模块是 Python 标准库的一部分,主要用于实现多种安全哈希和消息摘要算法。它提供了一个通用接口,涵盖了如 FIPS 安全哈希算法(SHA 系列)、RSA 的 MD5 算法等。在数据处理过程中,这些算法能将任意长度的数据转换为固定长度的哈希值,就像为数据生成了独一无二的 “指纹”,方便进行数据的快速比较、验证和加密处理。和算法提供可变长度摘要。shake_128可生成长度在至 128 位之间的摘要,shake_256可生成长度在至 256 位之间的摘要,且不限制最大长度。

Tekin 是深耕技术 20 年的全栈实战派专家,精通 Go/Python/Java 等多语言开发。博客专注技术原理与实战结合,深度解析 Python 高阶编程、Go 语言架构、数据库优化等硬核内容。涵盖并发编程、机器学习、云原生等前沿领域,通过真实案例拆 1828

unity之——解决利用Jenkins在Windows环境下打包unity工程中的场景为apk包,打包打不出来的问题。并且介绍Jenkins从安装到环境配置,调用unity代码的过程(填坑)!!!!!

今天第一次接触Jenkins,比较头疼。网上的Jenkins配置环境相关的资料比较散乱,并且在Windows平台下相关的配置更是少之又少。我在这里讲一下从Jenkins安装到构建工程。打包unity工程的apk包的过程。 1.首先去Jenkins官网下载安装就不说了,安装完成之后在浏览器中输入http://localhost:8080(默认访问地址)进入Jenkins web界面。进行账号的注册...

cgy56191948的博客 2020

逆向工程实战:解密AppleAccount的X-MMe-Nas-Qualify签名生成机制

本文通过逆向工程实战,详细解析了AppleAccount服务中X-MMe-Nas-Qualify签名的生成机制。作者利用Frida进行动态追踪定位签名源头,结合IDA Pro进行静态分析,并借助LLDB动态调试还原核心算法。文章最终分享了如何独立于苹果官方库,通过Python代码复现签名算法,为自动化测试和深度交互苹果服务的开发者提供了关键技术路径。

weixin_29323049的博客 706

理解python 文件首行(Shebang)

#!/bin/sh– 使用Bourne shell或兼容的 shell执行文件,假定位于 /bin 目录中 #!/bin/bash– 使用Bash shell执行文件 #!/usr/bin/pwsh– 使用PowerShell执行文件 #!/usr/bin/env python3– 使用Python解释器执行,使用env程序搜索路径查找 #!/bin/false– 什么都不做,但返回一个非零退出状态,表示失败。用于防止单独执行打算在特定上下文中执行的脚本文件,例如通过.来自 sh/bash、s...

子燕若水的博客 2105

Verilog仿真时读取bin文件模拟输入数据流,将输出数据流写入bin文件

需要关注的是,一般会省略文件起始地址和读取长度,那么mem为多大,就会从文件中读取多大的数据出来填充mem。如果只需要读取一次文件,那么代码到此就结束了,但是如果还需要每一帧都读取该文件转换为数据流,则在循环里判断新的一帧信号是否到来,在新的一帧再次打开一次文件,从头开始读取数据。

qq_41137205的博客 2772

Python使用哈希算法、加解密算法

【代码】Python使用哈希算法、加解密算法。

小韩的博客 1459

stm32f103运行FreeRTOS使用DMA实现USART1不定长接收

使用DMA是实现USART1的不定长接收和发送数据。接收采用FIFO缓存和队列的方式向应用层抛数据。首先定义接收和发送的缓存区,缓存区的大小根据收发数据量确定。DMA接收开启转移完成和转移一般中断。在中断中从缓存向FIFO转移数据。串口开启空闲中断,实现接收数据的分帧。分帧后的数据节点通过写入到队列。发送数据缓存的大小根据发送数据量调整。然后初始化串口和DMA。串口的发送数据接口函数。...

polaris_zgx的博客 1991

用户行为数据分析 User Behavior Data from Taobao for Recommendation

一、提出问题 二、理解数据 数据来源 阿里云天池数据集:(https://tianchi.aliyun.com/dataset/dataDetail?dataId=649) 本文选取的数据集为UserBehavior.csv,共有5242880条数据。数据的具体类别如下表所示: 用户行为种类有四种,如下表所示 对于数据维度的说明如下: 在本文选取的2017年11月25日到2017年12月3日的时间范围内,不重复的用户数量为10202,不重复的商品ID数为412369,不重复的商品类目ID数为5859,

cccxxxqq的博客 5206

Python进阶——哈希和加密

哈希函数(hash function)可以把 任意长度的数据(字节串)计算出一个为固定长度的结果数据。 原理是把Key通过一个固定的算法函数即所谓的哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。 而当使用哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标,并定位到该空间获取value,如此一来,就可以充分利用到数组的定位性能进行数据定位。...

欢迎来到我的知识星球!!! 1402

【RT-DETR涨点改进】全网独家-特征融合改进篇 | AAAI 2025 顶会| 高效涨点,RT-DETR利用CDFA对比度特征聚合模块,适用于目标检查(全网独家创新)

本文提出了一种基于CDFA模块的多级特征融合优化RT-DETR模型,用于解决医学图像分割中的软边界模糊、小目标和共现现象等问题。CDFA模块通过对比度特征聚合、局部特征增强和多级注意力机制,有效提升模型性能。研究提供了三种改进方案(rtdetr-r18/y50/l-CDFA),并在多个医学数据集上验证了其有效性。核心创新包括语义信息解耦、对比驱动特征融合和尺寸感知解码器。实验结果表明,该方法在分割精度和鲁棒性方面达到SOTA水平。

Ai缝合怪、助力小伙伴高效发论文 509

Python中hashlib模块 - 哈希加密

hashlib模块是用来进行哈希操作。哈希:数据一种将任意长度的输入映射为固定长度输出的算法。通常是用来验证数据的完整性、安全存储密码等。内容常常是一串随机的字母和数字组成。

weixin_58305115的博客 412

【异常】Cursor导入Karpathy指南失败解决方案Failed to import GitHub/GitLab rules: Error executing git: Cloning into

摘要:本文解决了Git克隆单个文件报错的问题,指出git clone只能克隆整个仓库而非单个文件。提供了两种解决方案:1) 推荐手动创建规则文件,在Cursor项目中新建.mdc文件并粘贴Karpathy行为指南完整内容;2) 备选克隆整个仓库获取文件。指南包含编码行为规范,强调简单性、精准修改和明确目标。还说明了如何设置全局规则和即时生效的方法。

奶爸的编程之路,也就一周冷个三天 174

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

python 模块加密_python之hash模块加密

1.什么是hashhash是一种算法,该算法接受传入的内容,经过运算得到一串hash值1.如果把hash算法比喻为一座工厂2.那传给hash算法的内容就是原材料3.生成的hash值就是生产出的产品2.为何要用hash算法hash值/产品有三大特性:1.只要传入的内容一样,得到的hash值必然一样2.只要我们使用是hash算法固定,无论传入的内容有多大,得到的hash值的长度是固定3.不可以用has...

weixin_39957068的博客 129

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

利用Python 生成hash值

一、介绍如果在Python中需要对用户输入的密码或者其他内容进行加密,首选的方法是生成hash值。 在Python中可以利用二个模块来进行: - crypt - hashlib二、crypt(一)crypt的主要方法和常量 名称 类型 描述 crypt(…) 方法 对指定内容进行hash加密 methods(…) 方法 返回可以用到的加密算法 mksalt

Steven的博客 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python hashlib加密解密_Python模块学习:hashlib hash加密

不积跬步,无以至千里;不积小流,何以成江海.每天学习一个Python模块,一个月可以了解30个模块,一年可以… …今天看了一个Python中的hashlib及hmac模块,这两个模块用来hash加密。说到加密,首先要了解加密的基本知识:hash加密,对称加密,不对称加密,数字签名等等。相关的知识可以在msdn上查阅:http://msdn.microsoft.com/zh-cn/library/9...

weixin_39739846的博客 434

python 代码 加密 哈希_Python3 加密(hashlib和hmac)模块的实现

以下代码以Python3.6.1为例hashlib : 不可逆加密hmac : 不可逆键值对方式加密hashlib模块简介:hashlib模块为不同的安全哈希/安全散列(Secure Hash Algorithm)和 信息摘要算法(Message Digest Algorithm)实现了一个公共的、通用的接口,也可以说是一个统一的入口。因为hashlib模块不仅仅是整合了md5和sha模块的功能,...

weixin_39559469的博客 538

Python时间模块转换&哈希加密

Python时间模块转换&哈希加密 一、时间模块转化 1、将时间戳转化为时间元组 #gmtime —> UTC国际标准时间 #localtime —> 本地时间 print(time.getime(72047023)) print(time.localtime(72047023)) 2、将时间元组转化为时间字符串 print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(72047023))) 3、将时间字符串转化为时间元组 print(

Python_Apple的博客 649

Python模块:内置模块hashlib哈希与加密入门

本文介绍了Python内置hashlib模块的哈希加密功能。哈希函数可将任意长度数据转换为固定长度的"指纹",具有不可逆性和雪崩效应特点。文章演示了三种基本使用方式(一次性哈希、分步update和大文件哈希),并详细列举了MD5、SHA系列等常见算法及其安全性比较。实际应用场景包括密码安全存储(加盐哈希)、文件完整性校验和HMAC消息认证。特别强调密码存储必须加盐并多次迭代,推荐使用专业加密库如bcrypt。文中包含完整代码示例,涵盖哈希生成、验证以及防

输出倒逼输入,写作驱动成长。 2406

Python模块学习 ---- hashlib hash加密

  不积跬步,无以至千里;不积小流,何以成江海.  每天学习一个Python模块,一个月可以了解30个模块,一年可以... ...  今天看了一个Python中的hashlib及hmac模块,这两个模块用来hash加密。说到加密,首先要了解加密的基本知识:hash加密,对称加密,不对称加密,数字签名等等。相关的知识可以在msdn上查阅:http://msdn.microsoft.c

2万+

使用python hashlib模块给明文字符串加密,以及如何撞库破解密码

文章目录:1 hashlib介绍2 hashlib模块使用2.1 查看hashlib中有哪些hash算法2.2 对字符串进行加密2.3 对于数据比较大,加密可以分块,结果一样2.4 hashlib的高级用法2.5 校验文件的一致性3 hmac模块的加密方式,于hashlib类似4 破解用户密码 1 hashlib介绍 1、Hash,译做“散列”,也有直接音译为“哈希”的。把任意长度的输入,通过某种hash算法,变换成固定长度的输出,该输出就是散列值,也称摘要值。该算法就是哈希函数,也称摘要函数。 2、has

求真、务实 3635

python 代码 加密 哈希_python加密模块hashlib

python提供了一个进行hash加密的模块:hashlib>>> import hashlib>>> m = hashlib.md5()>>> m.update("Nobody inspects")>>> m.update(" the spammish repetition")>>> m.digest()'...

weixin_28963585的博客 247

4.8 加密模块

盐值 slat (一段字符串) : 在存储用户密码时,通常会为每个用户生成一个唯一的盐值。当用户注册时,系统会生成一个随机盐值,将其与用户输入的密码拼接在一起,再次与用户输入的密码拼接并进行哈希处理,将得到的哈希值与数据库中存储的哈希值进行比较,以此来验证密码的正确性。username_md5 = hashlib.md5(username.encode("utf-8")) #加密。加密"zhangsan 123" --- 加密 --- "sjakdkasjdasjd"

2401_89346858的博客 259
上一篇: pyhton之re模块-正则表达式
下一篇: python之shutil模块使用方法
bangwu8607
博客等级 码龄11年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值