要使用 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加密算法,它是基于对称密钥的加密算法。密钥在生成后保存在文件中,以便在解密时使用。请注意,应该妥善保管密钥文件,确保只有授权的用户能够访问它。

在示例中,原始密码和加密后的密码都被打印出来,以便进行比较。

Python SFTP 连接密码加密解密 - 使用 cryptography 库

原文地址: https://www.cveoy.top/t/topic/pjZd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录