Python中的如何给一个字符串加密

本文介绍了Python中使用SHA1进行字符串加密的方法。通过五个步骤完成加密过程:导入SHA1模块、生成对象、更新字符串、生成摘要并打印。特别注意在Python 3中字符串需要先进行编码。

Python中自带的hashlib模块的功能是给字符串进行加密,加密方式有以下几种:

md5、sha1、sh224、sha256、sha384、sha512

常用的是md5和sha1

这里首先介绍一下sh1的用法:

步骤如下:

1、导入sha1

2、生成sha1对象

3、sha1对象调用update()方法

4、sha1对象再次调用hexdigest()方法

5、保存或者打印第4步生成的字符串

代码如下:

from hashlib import sha1

def jia_mi(str):
    sh = sha1()
    sh.update(str.encode())
    return sh.hexdigest()

if __name__ == "__main__":
    pwd = jia_mi("hello")
    print(pwd)    
    

输出结果为40为加密后的字符串:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d


需要注意的是在Python3中生成的sha1对象在调用update()方法时,传入的字符串要先进行编码

即encode()

如果不编码会爆出下面的异常:

TypeError: Unicode-objects must be encoded before hashing


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值