字符串 如何加密解密
- 编程技术
- 2025-02-08 01:29:11
- 1
字符串加密和解密是信息安全中常见的技术,有多种加密算法可以实现。以下是一些常见的加密和解密方法: 1. Base64编码/解码Base64是一种基于64个可打印字符来表...
字符串加密和解密是信息安全中常见的技术,有多种加密算法可以实现。以下是一些常见的加密和解密方法:
1. Base64编码/解码
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。它不是加密,但可以防止数据在传输过程中被破坏。
加密(编码):
```python
import base64
def encode_base64(input_string):
return base64.b64encode(input_string.encode()).decode()
示例
encrypted_string = encode_base64("Hello, World!")
print(encrypted_string)
```
解密(解码):
```python
def decode_base64(input_string):
return base64.b64decode(input_string).decode()
示例
decrypted_string = decode_base64(encrypted_string)
print(decrypted_string)
```
2. AES加密
AES是一种常用的对称加密算法。
加密:
```python
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
def encrypt_aes(input_string, key):
cipher = AES.new(key, AES.MODE_CBC)
ct_bytes = cipher.encrypt(pad(input_string.encode(), AES.block_size))
iv = cipher.iv
return iv + ct_bytes
示例
key = b'16bytekey1234567890' AES密钥长度为16、24或32字节
encrypted_string = encrypt_aes("Hello, World!", key)
print(encrypted_string)
```
解密:
```python
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
def decrypt_aes(input_string, key):
iv = input_string[:16]
ct = input_string[16:]
cipher = AES.new(key, AES.MODE_CBC, iv)
pt = unpad(cipher.decrypt(ct), AES.block_size)
return pt.decode()
示例
decrypted_string = decrypt_aes(encrypted_string, key)
print(decrypted_string)
```
注意:
在实际应用中,密钥管理非常重要,需要妥善保管。
加密和解密时,应确保使用相同的算法和模式。
上述代码仅作为示例,实际应用中可能需要考虑更多的安全因素。
希望这些信息能帮助你!有其他问题,随时提问。
本文链接:http://xinin56.com/bian/510740.html
上一篇:如何在查询企业的变更信息
下一篇:安装错误代码103为什么?