Skip to main content

第四课:常见加密方式

(一)MD5 编码

MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,

它将输入数据(无论数据大小)转换成固定长度(128位,通常表示为32个十六进制字符)的散列值。

在 Python 中,当使用 MD5 时,你需要将字符串数据转换为字节串,因为 MD5 处理的是任意长度的字节数据。 MD5 的输出是一个 128 位的散列值,通常以32位的十六进制字符串表示。

import hashlib
def generate_md5_hash(input_string):
    md5_obj = hashlib.md5()  # 创建一个新的 MD5 hash 对象
    md5_obj.update(input_string.encode('utf-8'))   # 将输入字符串转换为字节串,然后更新 MD5 对象
    md5_hash = md5_obj.hexdigest()   # 获取 MD5 散列值的十六进制表示
    return md5_hash
# 测试函数
input_str = "Hello, world!"
output_hash = generate_md5_hash(input_str)
print("MD5 Hash:", output_hash)
MD5 Hash: 6cd3556deb0da54bca060b4c39479839

注意事项:

  • MD5 虽然广泛使用,但已被证明在某些安全应用中是不安全的。它可能容易受到碰撞攻击,因此不应用于加密或任何需要高安全性的场景。

  • 对于需要更高安全性的应用,建议使用更安全的算法,如 SHA-256。



(二) SHA-256