| | |
| | | import random |
| | | import string |
| | | |
| | | from cryptography.fernet import Fernet |
| | | from app.config.config import settings |
| | | |
| | | cipher_suite = Fernet(settings.PASSWORD_KEY.encode("utf-8")) |
| | | |
| | | async def generate_password(length=10): |
| | | if length < 6: # 至少需要3位密码以包含所有必要的字符 |
| | |
| | | # 将列表转换为字符串 |
| | | return ''.join(password) |
| | | |
| | | |
| | | async def password_encrypted(password): |
| | | hash_pwd = cipher_suite.encrypt(password.encode("utf-8")).decode("utf-8") |
| | | print(hash_pwd) |
| | | return hash_pwd |
| | | |
| | | |
| | | async def password_decrypted(hash_password): |
| | | pwd = cipher_suite.decrypt(hash_password).decode("utf-8") |
| | | print(pwd) |
| | | return pwd |
| | | if __name__ == "__main__": |
| | | # 生成一个10位的密码 |
| | | asyncio.run(generate_password(10)) |
| | | # asyncio.run(generate_password(10)) |
| | | # password = generate_password(10) |
| | | # print(password) |
| | | # print(password) |
| | | |
| | | asyncio.run(password_encrypted("123456")) |
| | | asyncio.run(password_decrypted("gAAAAABnhyOiGUnAqK7FW_pHsXifje8WG1cirtF_eu3a44FrMYM3AkSBsWjsJrwpzUlD2GDzzZOS6yYu4Ie5gnkYuy8HVN3FBw==")) |