密碼加密與解密

密碼加密與解密

我已將密碼以純文字形式儲存在 txt 檔案中。現在我想編寫一個腳本,該腳本將從 txt 檔案中讀取純文本,然後對其進行加密和解密。

答案1

當您無法保持密碼加密時,對其進行加密是沒有用的。一旦你解密它,它就會再次受到攻擊。

無論加密和解密方法有多困難,任何人都可以查看和複製貼上。這只會讓事情變得更愚蠢。

chmod與魯布·戈德堡機器相比,它可以更好地防禦窺探,但透過一些工作,您可能可以完全避免使用儲存的密碼,這將是一件非常好的事情。因為:可檢索儲存的密碼是安全性問題,應避免使用。它們是一個糟糕的主意sudosu不僅要避免它們,它們都是專門為阻止您使用它們而設計的sshscpsftp

如果您打算讓它提示您輸入密碼,該密碼的用途有限,但我會考慮操作自動化或其他東西的可能性,您可以使用像openssl.

$ echo foobar | openssl enc -aes-128-cbc -a -salt -pass pass:asdffdsa
U2FsdGVkX1/lXSnI4Uplc6DwDPPUQ/WjHULJoKypTO8=

$ echo U2FsdGVkX1/lXSnI4Uplc6DwDPPUQ/WjHULJoKypTO8= | openssl enc -aes-128-cbc -a -d -salt -pass pass:asdffdsa
foobar

或者你可以這樣做,

$ touch pass.txt && echo foobar > pass.txt
$ openssl bf -a -salt -in pass.txt -out secret && rm -f pass.txt
enter bf-cbc encryption password:
Verifying - enter bf-cbc encryption password:

$ openssl bf -d -a -in secret -out pass.txt
enter bf-cbc decryption password:

$ cat pass.txt
foobar

答案2

聽起來你可能想重新發明輪子。我個人的建議是建立一個文字文件,其中包含您想要的密碼,並以美觀的方式排列(每行都有唯一的使用者名稱、密碼和所屬網站?)。

gpg --full-gen-key使用選擇“RSA 和 RSA”產生 4096 位元 RSA 金鑰。或者,天哪,2048 位元在技術上仍然可以安全使用。只是不要低於 2048 位元。

gpg -e passwords.txt使用其中的密碼加密檔案。

輸入收件人的姓名(即您)。然後一旦完成,驗證它password.txt.gpg是否存在。然後刪除原始(未加密)passwords.txt。

現在是簡單的部分。

當您需要文件中的密碼之一時,請執行 gpg -d passwords.txt.gpg

您只需記住產生 RSA 金鑰時選擇的一個密碼,未加密的內容將轉儲到 stdout(您正在使用的終端)。輕鬆擠檸檬豌豆。

RSA 的替代方法是使用下列金鑰產生方法:

gpg --full-gen-key --expert

然後選擇選項9——「ECC和ECC」。對於演算法,選擇 Brainpool P-512。金鑰產生速度比 RSA 快得多,而且金鑰尺寸更小,同樣安全。確實是個人喜好。我的回覆的其餘部分(密碼檔案的加密/解密)仍然適用。

或者,您可以去超級騙子簡單的方法,只需使用 KeePassX 等預製軟體即可加密儲存密碼。

相關內容