Python3中MD5加密代码详解

本文介绍了Python3中如何使用hashlib模块进行MD5加密,包括加密过程和注意事项,如字符串需转为UTF-8编码。并展示了两种不同的加密代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码详解

# -*- coding:utf-8 -*-
import hashlib

# 第一次创建md5实例对象,会加载一些这个类的一些初始方法和信息,
# 如果加密一个字符串后不进行md5实例初始化,再继续加密另一个字符串时,
# md5会带一些刚开始的一些初始化信息对第二个字符串就行加密,
# 和重新初始化md5后再进行加密的结果是不一样的
# 所以,每次做md5加密的时候都需要重新创建一个md5的实例对象,否则可能得不到准确的加密信息


def md5_encrypt(text):
    m5 = hashlib.md5()
    text = text.encode(encoding='utf-8')
    m5.update(text)
    value = m5.hexdigest()
    return value

print(md5_encrypt("hello"))

结果:

5d41402abc4b2a76b9719d911017c592

知识延伸


# 由于MD5模块在python3中被移除
# 在python3中使用hashlib模块进行md5操作

import hashlib

# 待加密信息
str = 'this is a md5 test.'

# 创建md5对象
m = hashlib.md5()

# Tips
# 此处必须encode
# 若写法为m.update(str)  报错为: Unicode-objects must be encoded before hashing
# 因为python3里默认的str是unicode
# 或者 b = bytes(str, enco

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值