我有一个带有Tweeter API密钥的Python脚本。我想使用Github对我的脚本进行版本控制。在上传到Github的同时如何保密我的密钥?也就是说,这些
的值KEY = ""
KEY_SECRET = ""
TOKEN = ""
TOKEN_SECRET = ""
应该保守秘密。也许我可以把它们放在另一个文件中加载它们,但是.gitignor' ing文件?什么是正确的模式?
答案 0 :(得分:5)
# project/.gitignore
passwords.py
# project/passwords.py
GITHUB_KEY = '123'
GITHUB_KEY_SECRET = 'ABC'
GITHUB_TOKEN = '456'
GITHUB_TOKEN_SECRET = 'XYZ'
# project/my_script.py
from passwords import GITHUB_KEY, GITHUB_KEY_SECRET, GITHUB_TOKEN, GITHUB_TOKEN_SECRET
KEY = GITHUB_KEY
KEY_SECRET = GITHUB_KEY_SECRET
TOKEN = GITHUB_TOKEN
TOKEN_SECRET = GITHUB_TOKEN_SECRET
答案 1 :(得分:2)
正如@chishaku暗示的那样,一个好主意是将所有机密信息保存在一个不受版本控制的单独文件中,即:git不知道。您可以将其添加到.gitignore
文件中。
有了这个,您可以安全地将代码提交到GitHub,每个人都可以看到您的项目 - 但是您的机密信息和密码无处可见!
在您的项目中,您现在可以读取该文件(或导入它)并使用其中的信息。
请记住,当您(或其他人)访问此项目时,您必须确保您的“秘密”文件存在,因为您的项目依赖于它。
在我的项目中,创建此“秘密”文件是部署脚本的一部分。类似的东西:
echo '{"password": "123"}' > config.json && git checkout master
这行代码将(简单)设置文件写入config.json
,然后才从主分支中检索最新的代码版本。