用python实现MD5、sha256、sha384、sha512、base64加密

本文介绍了Python的hashlib库在MD5、SHA256、SHA384、SHA512加密中的应用,包括混淆加密、加盐加密和Base64编码。详细阐述了每种加密方法的使用方法和加密过程,强调了加盐多重加密在增强密码安全性中的重要性。

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


最近在完成商城案例作业时,遇到提交注册密码时是一串数字和字母,觉得不安全,遂研究起来加密。
加密算法,以及对应的密文
加密算法很多,索性学习了几个常用的(MD5、sha256、base64)。

一、hashlib介绍

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。

摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。

在python3的hashlib标准库中可以调用SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。

二、使用hashlib库进行md5加密

1、加密未混淆代码
import hashlib

def jm_md5(password):
    m = hashlib.md5()  # 构建MD5对象
    m.update(password.encode(encoding='utf-8')) #设置编码格式 并将字符串添加到MD5对象中
    password_md5 = m.hexdigest()  # hexdigest()将加密字符串 生成十六进制数据字符串值
    return password, password_md5

g = jm_md5('123456')
print(g)

结果 :(‘123456’, ‘e10adc3949ba59abbe56e057f20f883e’)

2、混淆加密代码

我们知道 update可以将值增加,到集合(字典)或者键值对中。
在MD5加密中,它能起到字符串拼接作用,也就是能达到混淆加密的作用。

import hashlib
def hxjm_md5(password,value):
    '''
    :param password: 加密字符串
    :param value: 混淆字符串
    :return: 将混淆后的加密结果转成16进制字符串形式返回
    '''

    m = hashlib.md5(password.encode("utf-8"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值