Base64 エンコード・デコードの正規表現

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エンコードとデコードが実現します。

bannerAds