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()
相关推荐
旦莫11 分钟前
AI驱动的纯视觉自动化测试:知识库里应该积累什么知识内容
人工智能·python·测试开发·pytest·ai测试
楼兰公子1 小时前
buildroot 在编译rust时裁剪平台类型数量的方法
开发语言·后端·rust
知识领航员1 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
吴声子夜歌1 小时前
Go——并发编程
开发语言·后端·golang
ooseabiscuit2 小时前
Laravel4.x:现代PHP框架的奠基之作
java·开发语言·php
c1s2d3n4cs2 小时前
Qt模仿nlohmann::json进行序列化和反序列化
开发语言·qt·json
如何原谅奋力过但无声2 小时前
【灵神高频面试题合集06-08】反转链表、快慢指针(环形链表/重排链表)、前后指针(删除链表/链表去重)
数据结构·python·算法·leetcode·链表
deephub3 小时前
2026 RAG 选型指南:Vector、Graph、Vectorless 该怎么挑
人工智能·python·大语言模型·rag
AiTop1003 小时前
Claude Code 推出 Agent View:命令行编程正式进入“多线程并发“时代
开发语言·人工智能·ai·aigc
jf加菲猫3 小时前
第21章 Qt WebEngine
开发语言·c++·qt·ui