如何防止有人打印 cryptography.fernet 包中的解密密码
how to prevent someone from printing the Decrypted password in cryptography.fernet packages
我是这个模块的新手,所以如果我的问题听起来很愚蠢,请原谅。我正在创建一个应用程序并使用 cryptography.fernet 加密 MySQL 凭据。
例如,如果我加密并得到这个
from cryptography.fernet import Fernet
key = b'PCHl_MjGyEyBxLYha3S-cWg_SDDmjT4YYaKYh4Z7Yug='
cipher_suite = Fernet(key)
ciphered_text = cipher_suite.encrypt(b"SQLShack@DemoPass")
print(ciphered_text)
如果我必须像下面这样解密密码,我如何防止最终用户简单地打印出密码?他们可以打印打印(unciphered_text)。同时将密码保存到数据库失败因为我的密码是用于数据库的目的。感谢您的帮助。
key = b'PCHl_MjGyEyBxLYha3S-cWg_SDDmjT4YYaKYh4Z7Yug='
cipher_suite = Fernet(key)
ciphered_text = b'gAAAAABd_jcLWEz-fIBt3y2P3IoB3jGdbNnSzeSINZ8BomP9DrKIX2YF4pMLkMCvCxLshmKgKXk7np42xop6QIaiawbhjGayMU0UrbTeUX-6XA8zmo55vwA='
unciphered_text = (cipher_suite.decrypt(ciphered_text))
我只想在我的代码中这样做
try:
engine = create_engine('mysql+mysqlconnector://root:encrypted_password@encrypted_host:3306/encrypted_databsed?auth_plugin=mysql_native_password')
except engine.closed():
print("Failed to create engine")
How can I prevent the end user from simply printing out the password if I have to decrypt the password like below?
实际上 - 你不能。
I am creating an application and using the cryptography.fernet to encrypt MySQL credentials.
理论上,您可以编写一个返回数据库连接而不是明文密码的库。但是 - 一旦您将密文和密钥放在同一个地方(在客户端),无论如何都无法阻止客户端解密和打印明文。
我是这个模块的新手,所以如果我的问题听起来很愚蠢,请原谅。我正在创建一个应用程序并使用 cryptography.fernet 加密 MySQL 凭据。
例如,如果我加密并得到这个
from cryptography.fernet import Fernet
key = b'PCHl_MjGyEyBxLYha3S-cWg_SDDmjT4YYaKYh4Z7Yug='
cipher_suite = Fernet(key)
ciphered_text = cipher_suite.encrypt(b"SQLShack@DemoPass")
print(ciphered_text)
如果我必须像下面这样解密密码,我如何防止最终用户简单地打印出密码?他们可以打印打印(unciphered_text)。同时将密码保存到数据库失败因为我的密码是用于数据库的目的。感谢您的帮助。
key = b'PCHl_MjGyEyBxLYha3S-cWg_SDDmjT4YYaKYh4Z7Yug='
cipher_suite = Fernet(key)
ciphered_text = b'gAAAAABd_jcLWEz-fIBt3y2P3IoB3jGdbNnSzeSINZ8BomP9DrKIX2YF4pMLkMCvCxLshmKgKXk7np42xop6QIaiawbhjGayMU0UrbTeUX-6XA8zmo55vwA='
unciphered_text = (cipher_suite.decrypt(ciphered_text))
我只想在我的代码中这样做
try:
engine = create_engine('mysql+mysqlconnector://root:encrypted_password@encrypted_host:3306/encrypted_databsed?auth_plugin=mysql_native_password')
except engine.closed():
print("Failed to create engine")
How can I prevent the end user from simply printing out the password if I have to decrypt the password like below?
实际上 - 你不能。
I am creating an application and using the cryptography.fernet to encrypt MySQL credentials.
理论上,您可以编写一个返回数据库连接而不是明文密码的库。但是 - 一旦您将密文和密钥放在同一个地方(在客户端),无论如何都无法阻止客户端解密和打印明文。