当前位置: 首页 > ds >正文

Python MD5加密算法脚本

基本概念

MD5(Message Digest Algorithm 5)是一种常用的哈希函数,用于将任意长度的数据转换为固定长度的哈希值,通常为128位(16字节)。

特点

  1. 不可逆性:无法从哈希值还原出原始数据。无论原始数据大小是多少,其生成的哈希值的长度都是固定的。
  2. 唯一性:不同的输入数据通常会生成不同的哈希值。即使原始数据只有微小的变化,其生成的哈希值也会有较大的差异。
  3. 快速计算:MD5算法的计算速度很快,对于大多数输入数据,可以在短时间内生成哈希值。

应用

MD5算法广泛应用于数据完整性校验、数据重复性校验、密码存储、数字签名等领域。
在数据完整性校验中,可以将原始数据进行MD5哈希计算,并将生成的哈希值与预期的哈希值进行比较,以验证数据是否被篡改。
在数据重复性校验中,如果有多个字段需要校验数据是否重复,则可以将数据库-表的字段通过CONCAT()函数进行拼接,再进行MD5哈希计算,将生成后的哈希值再进行group by去重。
在密码存储中,可以对用户的密码进行MD5哈希计算,并将哈希值加盐计算后存储在数据库中,而不存储原始密码,以增加密码的安全性。

缺点

由于MD5算法存在一些安全性上的问题,如碰撞攻击(collision attack),使得相同的哈希值可以从不同的输入数据中生成,因此在一些安全性要求较高的场景中,建议使用更安全的哈希算法,如SHA-256。

加密代码

# -*- coding:utf-8 -*-
# @File:test_MD5_encrypt.py
# @Date:2025/5/21 22:41
# @Author:wayne
# @description:MD5加密import hashlibdef md5_encrypt(text):"""MD5加密方法,步骤:1. 创建一个MD5的对象2. 将text的编码格式改为utf-8并更新MD5对象3. 返回十六进制的MD5散列值:param text: 原始字符串:return: MD5加密后的字符串"""# md5 = hashlib.md5()# md5.update(text.encode('utf-8'))# encrypt_text = md5.hexdigest()# 一行代码表示encrypt_text = hashlib.md5(text.encode('utf-8')).hexdigest()return encrypt_textif __name__ == '__main__':print(md5_encrypt("123456"))
http://www.xdnf.cn/news/7968.html

相关文章:

  • Java线程池调优与实践经验
  • JavaScript-DOM-02
  • DS18B20 温度传感器实验探索与实践分享​
  • 深度学习Y8周:yolov8.yaml文件解读
  • Leetcode-3 判断根结点是否等于子结点之和
  • Universal Media Server (UMS)部署指南
  • HTTP相关内容
  • 【Java高阶面经:数据库篇】12. MySQL锁机制全解:从行锁到死锁优化的深度指南
  • 十七、面向对象底层逻辑-MessageSource接口设计
  • 鸿蒙开发:应用上架第二篇,申请发布证书
  • CSS 链接样式全解析:从基础状态到高级交互效果
  • Docker的网络介绍
  • canvas(二)-动画(2d)
  • 人工智能解析:技术革命下的认知重构
  • 贪心算法 Part04
  • 【VLNs篇】03:VLMnav-端到端导航与视觉语言模型:将空间推理转化为问答
  • Dirsearch 深度使用教程:从基础扫描到携带 Cookie 探索网站
  • Oracle审计用户登录信息
  • TCP全连接和tcpdump抓包实现
  • Gradle下载安装及配置
  • AI就是个fw
  • 流式优先架构:彻底改变实时数据处理
  • AI加速芯片全景图:主流架构和应用场景详解
  • 49、c# 能⽤foreach 遍历访问的对象需满足什么条件?
  • Python爬虫实战:获取小说网最新风云榜数据并分析,为创作者提供参考素材
  • QMK固件RGB矩阵照明功能详解 - 打造你的专属炫彩键盘
  • 人工智能范式:技术革命下的认知重构
  • 分类预测 | Matlab实现PSO-RF粒子群算法优化随机森林多特征分类预测
  • AI 与 IT 从业者:风暴之眼中的共存与进化
  • Python数据分析实战:Pandas高效处理Excel数据指南