python使用hashlib库运行MD5哈希算法

通过信息摘要算法,可以实现以下几个目标:

  1. 任意长度的输入,得到固定长度的输出
  2. 在任意环境中,都是相同的输入,相同的输出
  3. 极尽所能不要出现不同的输入,结果有重复的的输出

我们通过hashlib这个库可以实现这样的功能,其中MD5算法的使用流程是:

  1. 确定输入,将输入变为字符串(str)类型
  2. 确定编码str.encode("utf-8")
  3. 输出编码.hexdigest()

示例程序

py 复制代码
import hashlib

def get_md5_code(string):
    """获取MD5的字符串"""
    hash_md5 = hashlib.md5()  # 应用MD5算法
    hash_md5.update(str(string).encode("utf-8"))
    return hash_md5.hexdigest()

def main():
    data_info = {
        "name": "小明",
        "age": 20,
    }
    md5_code = get_md5_code(data_info)
    print(md5_code)

if __name__ == '__main__':
    main()
相关推荐
全栈练习生8 小时前
AI安全与红队测试
python·ai
爱读书的小胖8 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言
费曼学习法8 小时前
把「发送成功」当「送达」?我排查 IM 长消息被静默吞掉的完整过程
python·ai编程·自动化运维
鸽鸽程序猿8 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
by209998 小时前
哈希表——快速找到数据:冲突、删除与扩容的实现
数据结构·c++·哈希算法·散列表
Lhappy嘻嘻8 小时前
读懂 JVM:内存模型、类加载机制、分代回收
java·开发语言·jvm
NetX行者8 小时前
Python 工程化入门:从脚本到规范的 Python 项目结构
网络·python
MasonYyp8 小时前
asyncio并发协程
python
小小张说故事9 小时前
Python 的整数为什么永远不会溢出?拆开大整数对象,看 30 位一节的存储与运算代价
python
Nil2089 小时前
leetcode 49字母异位分组
算法·leetcode·哈希算法