数据库运维中的数据加密可分为存储加密和传输加密,以下是具体操作:
数据库自带加密功能
文件系统级加密
应用层加密
pythonfrom Crypto.Cipher import AES
import base64
# 密钥(16字节)
key = b'Sixteen byte key'
# 初始化向量(16字节)
iv = b'Sixteen byte iv '
cipher = AES.new(key, AES.MODE_CBC, iv)
data = b'sensitive data'
# 填充数据以满足块大小要求
padding_length = AES.block_size - len(data) % AES.block_size
data += bytes([padding_length]) * padding_length
encrypted_data = cipher.encrypt(data)
# 编码以便存储
encoded_data = base64.b64encode(encrypted_data)- **加密函数**:有些数据库允许创建自定义加密函数。例如,在Oracle中可以使用PL/SQL编写加密函数,在插入或更新数据时调用该函数对特定字段进行加密。SSL/TLS加密
密钥存储
密钥备份与恢复