Python SFTP 连接密码加密解密 - 使用 cryptography 库
要使用 Python 连接 SFTP 并对密码进行加密和解密,可以使用cryptography库来进行加密和解密操作。下面是一个示例代码:
from cryptography.fernet import Fernet
# 生成密钥
def generate_key():
key = Fernet.generate_key()
with open('key.key', 'wb') as key_file:
key_file.write(key)
# 加载密钥
def load_key():
return open('key.key', 'rb').read()
# 加密密码
def encrypt_password(password):
key = load_key()
fernet = Fernet(key)
encrypted_password = fernet.encrypt(password.encode())
return encrypted_password
# 解密密码
def decrypt_password(encrypted_password):
key = load_key()
fernet = Fernet(key)
decrypted_password = fernet.decrypt(encrypted_password)
return decrypted_password.decode()
# 使用示例
generate_key()
password = 'my_password'
encrypted_password = encrypt_password(password)
decrypted_password = decrypt_password(encrypted_password)
print(f'Password: {password}')
print(f'Encrypted Password: {encrypted_password}')
print(f'Decrypted Password: {decrypted_password}')
在上面的示例中,generate_key()函数用于生成密钥并保存到文件key.key中。load_key()函数用于加载密钥。encrypt_password(password)函数用于加密密码。decrypt_password(encrypted_password)函数用于解密密码。
示例中使用了Fernet加密算法,它是基于对称密钥的加密算法。密钥在生成后保存在文件中,以便在解密时使用。请注意,应该妥善保管密钥文件,确保只有授权的用户能够访问它。
在示例中,原始密码和加密后的密码都被打印出来,以便进行比较。
原文地址: https://www.cveoy.top/t/topic/pjZd 著作权归作者所有。请勿转载和采集!