将 api 密钥传递到项目的最佳方式是什么?

问题描述 投票:0回答:1

在我的数据库项目中,我将所有相关文件保存在另一个额外的文件中,并且主要读取并传递给我的代码以使其更安全。但是项目的 API 密钥又如何呢? 有些人建议在单独的文件中作为数据库逻辑进行操作,有些人建议作为命令行参数传递?这种情况的行业标准是什么。

import testapi

api_obj=testapi.connect('APIKEY')

将 api 密钥传递给项目的最佳方式是什么?

健康的问候

python java api authentication parameter-passing
1个回答
0
投票

如果安全确实是一个问题,我做的一件事就是拥有一个带有非对称密钥对的加密文件,然后您可以将您的私钥存储在只有您有权访问的 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])
© www.soinside.com 2019 - 2024. All rights reserved.