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編碼和解碼。