安全地存储密码但可以以明文形式访问
创始人
2024-11-04 18:00:18
0次

一种解决方法是使用加密算法来安全地存储密码,但在需要时可以以明文形式访问。以下是一个示例代码,使用AES对密码进行加密和解密:

import base64
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()
    cipher_suite = Fernet(key)
    encrypted_password = cipher_suite.encrypt(password.encode())
    return base64.urlsafe_b64encode(encrypted_password).decode()

def decrypt_password(encrypted_password):
    key = load_key()
    cipher_suite = Fernet(key)
    decrypted_password = cipher_suite.decrypt(base64.urlsafe_b64decode(encrypted_password.encode()))
    return decrypted_password.decode()

# 生成密钥,只需运行一次
generate_key()

# 加密密码
password = "my_password"
encrypted_password = encrypt_password(password)
print("Encrypted password:", encrypted_password)

# 解密密码
decrypted_password = decrypt_password(encrypted_password)
print("Decrypted password:", decrypted_password)

在该示例中,首先通过generate_key函数生成一个密钥,并将其保存到名为"key.key"的文件中。然后,encrypt_password函数使用该密钥将密码加密,并将加密后的密码以URL安全的Base64编码形式返回。最后,decrypt_password函数使用密钥将加密后的密码解密,并以明文形式返回。

请注意,为了安全起见,密钥应该妥善保管,并确保只有授权的用户可以访问它。此外,为了保护密码,你可能还需要在存储时对其它敏感数据进行加密。

相关内容

热门资讯

专业讨论!wepoker模拟器... wepoker模拟器哪个好用AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏...
重大消息!wpk有那种辅助吗,... 重大消息!wpk有那种辅助吗,WPK有挂吗教程(先前有开挂)AI 智能体黑科技再上新,自动化能力开挂...
推荐几款新版!wepoker底... 您好:wepoker底牌透视这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...
总算了解!wpk有作弊吗,德普... 总算了解!wpk有作弊吗,德普之星外卦神器软件教程(竟然有开挂)AI 智能体黑科技再上新,自动化能力...
大神推荐!wepoker透视脚... wepoker透视脚本免费AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻...
避坑细节!如何下载德普之星辅助... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
一分钟了解!!wepoker辅... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
玩家科普!wpk真的有透视嘛,... 玩家科普!wpk真的有透视嘛,WPK透视脚本工具(好像存在有辅助挂)AI 智能体黑科技再上新,自动化...
一分钟揭秘!德普之星辅助工具如... 您好:德普之星辅助工具如何打开这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
大家学习交流!wepoker游... 您好:wepoker游戏安装教程这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...