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编码和解码。