📜  python hash md5 unicode - Python (1)

📅  最后修改于: 2023-12-03 15:34:00.964000             🧑  作者: Mango

Python中的哈希、MD5和Unicode

在Python中,哈希、MD5和Unicode是常见的概念。哈希是将任意长度的二进制值映射为固定长度的较小二进制值的过程。MD5是一种常见的哈希算法,它可以将任意长度的二进制值映射为128位的哈希值。Unicode是一种字符集标准,它定义了世界上所有字符的代码点。

哈希

Python提供了几种哈希算法的实现,其中最常见和最简单的算法是SHA1和MD5。可以使用Python标准库中的hashlib模块来进行哈希操作。

import hashlib

# 对字符串进行哈希
hash_object = hashlib.sha1(b'Hello World')
hex_digest = hash_object.hexdigest()
print(hex_digest)

# 对文件进行哈希
hash_object = hashlib.sha1()
with open('file.txt', 'rb') as f:
    fb = f.read(4096)
    while len(fb) > 0:
        hash_object.update(fb)
        fb = f.read(4096)
hex_digest = hash_object.hexdigest()
print(hex_digest)

输出:

2ef7bde608ce5404e97d5f042f95f89f1c232871
34c5b5d6aed4e4e3a18dfb4baa8f6be216f6b442
MD5

MD5是一种常见的哈希算法,它可以将任意长度的二进制值映射为128位的哈希值。Python中也同样提供了hashlib模块来实现MD5哈希。

import hashlib

# 对字符串进行MD5哈希
message = 'Hello World'.encode('utf-8')
hash_object = hashlib.md5(message)
digest = hash_object.hexdigest()
print(digest)

# 对文件进行MD5哈希
hash_object = hashlib.md5()
with open('file.txt', 'rb') as f:
    fb = f.read(4096)
    while len(fb) > 0:
        hash_object.update(fb)
        fb = f.read(4096)
digest = hash_object.hexdigest()
print(digest)

输出:

b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
202cb962ac59075b964b07152d234b70
Unicode

Unicode是一种字符集标准,它定义了世界上所有字符的代码点。在Python中,字符串是使用Unicode编码的。可以使用encode()函数将字符串编码为指定的字符集,使用decode()函数将指定字符集的字符串解码为Unicode编码的字符串。

# 将字符串编码为UTF-8
s = '你好,世界'
s_utf8 = s.encode('utf-8')
print(s_utf8)

# 将UTF-8字符串解码为Unicode字符串
s_unicode = s_utf8.decode('utf-8')
print(s_unicode)

输出:

b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c'
你好,世界

以上便是Python中哈希、MD5和Unicode的介绍和使用方法。