租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

urlsafe base64正则加解密

发布时间:2023-09-22 08:12:53

urlsafe base64正则加解密

URL安全的Base64是一种使用标准Base64字符集,并且将字符"+"和"/"替换为"-"和"_"的编码方式。因此,对URL安全的Base64编码的加密和解密,可以先将字符串进行Base64编码,然后将"+"替换为"-",将"/"替换为"_",最落后行URL解码。
以下是使用Python实现URL安全的Base64编码和解码的示例代码:
```python
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编码和解码。