本文共 2615 字,大约阅读时间需要 8 分钟。
Base64模块是Python标准库,提供了将二进制数据与ASCII字符之间的编码与解码功能。该模块支持Base16、Base32、Base64、Ascii85和Base85等编码方式,用户无需安装即可使用。
Base64模块主要提供以下两种接口:
注意:编码与解码的参数必须是二进制数据,否则可能会导致错误。
以下是使用Base64模块对字符串进行编码与解码的示例:
import base64 str = "Hello Python" # 将字符串编码为Base64格式 byte_str = str.encode("utf-8") b64_str = base64.b64encode(byte_str) print("Base64编码结果:", b64_str) print("-------------") 将Base64编码后的二进制数据解码为原始字符串 byte_str2 = base64.b64decode(b64_str) str2 = byte_str2.decode("utf-8") print("解码后的字符串:", str2) Base64模块还支持对URL进行编码与解码。以下是相关示例:
import base64 url = "http://www.baidu.com?k1=v1&k2=值二" # 将URL编码为Base64格式 byte_url = url.encode("utf-8") b64_url = base64.b64encode(byte_url) print("Base64编码后的URL:", b64_url) print("-------------") 将Base64编码后的二进制数据解码为原始URL byte_url2 = base64.b64decode(b64_url) url2 = byte_url2.decode("utf-8") print("解码后的URL:", url2) Hashlib是Python内置的安全模块,提供了多种常用摘要算法,如MD5、SHA1、SHA256、SHA384和SHA512等。这些算法用于将任意长度的数据转换为固定长度的数据串(哈希值),用于数据的完整性验证。
import hashlib # 列出所有可用的算法 print(dir(hashlib)) # 列出确保支持的算法 print(hashlib.algorithms_guaranteed) # 查看哈希值的长度 print(hashlib.md5().digest_size) # 查看哈希算法的块大小 print(hashlib.md5().block_size)
import hashlib 创建指定算法的哈希对象 hash_obj = hashlib.new('md5') 更新哈希对象 hash_obj.update('Hello'.encode('utf-8')) hash_obj.update('Python'.encode('utf-8')) 返回十六进制字符串形式的哈希值 hex_digest = hash_obj.hexdigest() print(hex_digest) 返回二进制形式的哈希值 binary_digest = hash_obj.digest() print(binary_digest) 以下是使用Hashlib进行MD5编码的示例:
import hashlib def jm_md5(password): m = hashlib.md5() m.update('abc'.encode('utf-8')) m.update(password.encode('utf-8')) return m.hexdigest(), m.digest() 示例调用 result = jm_md5('123456') print("原始密码:", '123456') print("MD5哈希值:", result[0]) print("二进制哈希值:", result[1]) MD5是一种广泛使用的密码杂凑函数,能够产生一个128位的固定长度的哈希值,用于确保信息传输的完整性。
以下是使用MD5算法的示例:
import hashlib def jm_md5(password): m = hashlib.md5() m.update('abc'.encode('utf-8')) m.update(password.encode('utf-8')) return m.hexdigest(), m.digest() 示例调用 result = jm_md5('123456') print("原始密码:", '123456') print("MD5哈希值:", result[0]) print("二进制哈希值:", result[1]) SHA-256是一种安全哈希算法,常用于数字签名标准(DSS)中定义的数字签名算法(DSA)。它用于验证数据的完整性,且生成的哈希值长度较长,安全性较高。
以下是使用SHA-256算法的示例:
import hashlib def jm_sha256(password): m = hashlib.sha256() m.update('abc'.encode('utf-8')) m.update(password.encode('utf-8')) return m.hexdigest(), m.digest() 示例调用 result = jm_sha256('123456') print("原始密码:", '123456') print("SHA-256哈希值:", result[0]) print("二进制哈希值:", result[1]) 转载地址:http://ivafk.baihongyu.com/