我正在尝试在远程服务器上运行python脚本,我不相信。该脚本包含一个重要的密码。 什么是保护该代码/密码的好方法? 我会把它作为一个参数,或者我可以在终端上提示输入,但这将保存在历史记录中。
答案 0 :(得分:0)
将密码存储在不可靠的服务器上,这绝对是不安全的。如果可以,你必须改变如下的方式。
password
加密pub_key
通常每个请求都有不同的pub_key / private_key
您不信任的客户id and encrypt_msg
与auth
password_required服务器从客户端获取id and private_key
并解密encrypt_msg
并比较密码。
auth
。答案 1 :(得分:0)
答案 2 :(得分:-1)
处理它的理想方法是使用来自可信服务器的REST-Api调用。 在不受信任的服务器上,您可以存储编码的密码。
编辑1:正如@Luke在下面的评论中指出的那样,base64由于其简单性可以很容易地解密。如建议的那样,我们应该实现对称算法,然后将密钥存储在您的可信服务器上。
您可以浏览具有AES,DES等的pycrypto
库。
pypi。
import base64
encoded = base64.urlsafe_b64encode('MyPassword')
## returns 'TXlQYXNzd29yZA=='
将其存储在不受信任的服务器上,然后在可信服务器上解码以生成基于到期时间的密码。
import base64
original = base64.urlsafe_b64decode(encoded)
# Returns MyPassword
获得临时密码的示例帖子调用将是:
curl -L https://sandbox.trustedserver.com/v1.0/oauth/token/
-X post
-H 'Content-Type: application/json'
-H 'Authorization: Basic [Base64_Credentials]'
-d '{ "grant_type": "client_credentials" }
示例响应将是一个在500秒后到期的访问令牌:
{
"token_type": "bearer",
"access_token": "TXlQYXNzd29yZA==",
"expires_in": 500
}
希望它有所帮助。