第四课:常见加密方式
(一)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。