[英]How to secure plain text Password in python script
我有一個Python腳本,其中包含用於將Mac綁定到AD的純文本密碼。 我需要將此腳本部署到幾台Mac。
如何保護純文本密碼,這樣沒人能看到密碼?
我不想使用base64
,我需要比base64
更強的東西。
嘗試將密碼存儲在單獨的Python腳本中的變量中。
pass.py
password = 'PASSWORD'
分別從此腳本導入變量。
main.py
from pass import password
這將創建一個名為pass.pyc的字節碼文件。 現在,您可以刪除pass.py並繼續使用pass.pyc,這是人類不易理解的,而且反編譯起來要困難得多。
編輯:如果有人可以訪問您的源代碼,他們仍然可以通過打印語句看到密碼!
編輯2:正如賈科莫·阿爾澤塔(Giacomo Alzetta)所評論的那樣,這里的密碼仍然是人類可讀的,但是這里歸結為“攻擊模型”。 如果有人真的想要,他們仍然可以四處尋找。 其他替代方法是OpenSSL中可用的加密算法。 對稱密鑰算法可能對您仍然沒有用,因為您可能必須將加密密鑰存儲在源代碼中。 非對稱密鑰算法可能會起作用。
您可以使用編碼和解碼功能。
def encode(key, clear):
enc = []
for i in range(len(clear)):
key_c = key[i % len(key)]
enc_c = chr((ord(clear[i]) + ord(key_c)) % 256)
enc.append(enc_c)
return base64.urlsafe_b64encode("".join(enc).encode()).decode()
def decode(key, enc):
dec = []
enc = base64.urlsafe_b64decode(enc).decode()
for i in range(len(enc)):
key_c = key[i % len(key)]
dec_c = chr((256 + ord(enc[i]) - ord(key_c)) % 256)
dec.append(dec_c)
return "".join(dec)
用法: encode("mykey", "password")
(您需要導入base64)
如果您想要高安全性的密碼,我編碼了一個腳本,但是我嘗試對字符串進行解碼,但我做不到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.