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()
相关推荐
想要入门的程序猿16 小时前
Qt插件QPluginLoader
开发语言·qt
Rabitebla16 小时前
C++11 新特性详解(一):列表初始化、initializer_list 与右值引用
java·开发语言·数据结构·c++·算法·leetcode·list
洋不写bug16 小时前
JavaComparable、Comparator、Cloneable接口解析,深拷贝浅拷贝详细解析
android·java·开发语言
吴声子夜歌16 小时前
正则指引——Golang
开发语言·golang·正则表达式
坐吃山猪16 小时前
WebFlux_学习Subscriber总结
java·开发语言·学习·webflux
白露与泡影16 小时前
Java面试题及答案整理(2026年金九银十最新版,持续更新)
java·开发语言
少控科技16 小时前
农场设备管理代码(1)
开发语言·c#
❀搜不到16 小时前
isat-sam分割导出掩码图
开发语言·python
Zane199417 小时前
ClassName() 只是一步?拆开看 __new__ 和 __init__ 各自在干什么
后端·python
geovindu17 小时前
java: Memento Pattern
java·开发语言·后端·备忘录模式·行为模式