在我的数据库项目中,我将所有相关文件保存在另一个额外的文件中,并且主要读取并传递给我的代码以使其更安全。但是项目的 API 密钥又如何呢? 有些人建议在单独的文件中作为数据库逻辑进行操作,有些人建议作为命令行参数传递?这种情况的行业标准是什么。
import testapi
api_obj=testapi.connect('APIKEY')
将 api 密钥传递给项目的最佳方式是什么?
健康的问候
如果安全确实是一个问题,我做的一件事就是拥有一个带有非对称密钥对的加密文件,然后您可以将您的私钥存储在只有您有权访问的 USB 驱动器中。然后,您可以从 python 提供私钥的路径或让它在已安装的设备上查找。
import json
# your public key is in the script already
PUBLIC_KEY = "sha256THISISTHEPUBLICKEY..."
# get your key and read it from file
private_key = read_private_key("path\to\key")
# get your api_keys file
api_keys_enc = read_api_keys("path\to\api_keys")
# decrypt api_keys file
decrypted_api_keys = decrypt(PUBLIC_KEY, private_key, api_keys_enc, "sha256")
# then you cast them to the parser
api_keys = json.loads(decrypted_api_keys)
# then you can have them in the object
print(api_keys["keys"][0])