阅读量:6
URL安全的Base64是一种使用标准Base64字符集,并且将字符"+“和”/“替换为”-“和”“的编码方式。因此,对于URL安全的Base64编码的加密和解密,可以先将字符串进行Base64编码,然后将”+“替换为”-“,将”/“替换为”",最后进行URL解码。
以下是使用Python实现URL安全的Base64编码和解码的示例代码:
import base64 import re def urlsafe_base64_encode(data): # 对字符串进行Base64编码 encoded_data = base64.b64encode(data.encode()).decode() # 将"+"替换为"-" encoded_data = re.sub(r'\+', '-', encoded_data) # 将"/"替换为"_" encoded_data = re.sub(r'\/', '_', encoded_data) return encoded_data def urlsafe_base64_decode(data): # 将"-"替换为"+" decoded_data = re.sub(r'\-', '+', data) # 将"_"替换为"/" decoded_data = re.sub(r'\_', '/', decoded_data) # 进行URL解码,并对解码结果进行Base64解码 decoded_data = base64.b64decode(decoded_data).decode() return decoded_data # 加密示例 plaintext = "Hello World!" encrypted_data = urlsafe_base64_encode(plaintext) print("Encrypted data:", encrypted_data) # 解密示例 decrypted_data = urlsafe_base64_decode(encrypted_data) print("Decrypted data:", decrypted_data)
运行以上代码,输出结果为:
Encrypted data: SGVsbG8gV29ybGQh Decrypted data: Hello World!
这样就实现了URL安全的Base64编码和解码。