2.8加密工具与散列
1、crypt是一個簡單的加密工具,它從stdin接受一個文件以及口令作為輸入,然后將加密數據輸出到stdout(因此要對輸入、輸出文件使用重定向)。
eg:$ crypt ?< input_file > output_file
Enter passphrase:
它會要求輸入一個口令??梢酝ㄟ^命令行參數來提供口令。
eg:$ crypt PASSPHRASE <input_file >encrypted_file
如果需要解密文件,可以使用:
$crypt PASSPHRASE -d < encrypted_file >output_file
2、gpg(GNU隱私保護)是一種應用廣泛的工具,它使用加密技術來保護文件,以確保數據在送達目的地之前無法被讀取。注意:gpg簽名同樣廣泛用于在電子郵件通信中的郵件“簽名”,以證明發送方的真實性。
用gpg加密文件
eg:$ gpg -c filename
該命令采用交互方式讀取口令,并生成filename.gpg.使用以下命令解密gpg文件:
$ gpg filename.gpg
該命令讀取口令,然后對文件進行解密。
3、Base64是一組相似的編碼方案,它將ASCII字符轉換成以64為基數的形式,以可讀的ASCII字符串來描述二進制數據。base64命令可以用來編碼/解碼Base64字符串。要將文件編碼為Base64格式,使用:
eg:$ base64 filename > outputfile
或者
$cat file | base64 >outputfile
base64可以從stdin中進行讀取。
解碼Base64數據:
$base64 -d file > outputifile
或者
$cat base64_file | base64 -d > outputfile
4、md5sum與sha1sum都是單向散列算法,均無法逆推出原始數據。他們通常用于驗證數據完整性或為特定數據生成唯一的密鑰:
eg:$ md5sum file
$sha1sum file
這種類型的散列算法是存儲密碼的理想方案。密碼使用其對應的散列值來存儲。如果某個用戶需要進行認證,讀取該用戶提供的密碼并轉換成散列值,然后將其與之前的存儲的散列值進行對比。
注意:md5sum和SHA-1已不再安全,這是由于計算能力的攀升,推薦使用bcrypt或sha512sum這類工具進行加密。
5、shadow-like散列(salt散列)
在Linux中,用戶密碼是以散列值形式存儲在文件/etc/shadow中的,該文件中的散列值是以"."的形式連接的。下面使用openssl生成shadow密碼:
shadow密碼通常都是salt密碼。所謂的SALT就是額外的一個字符串,用來起一個混淆的作用,使加密更加不易被破解。salt由一些隨機位組成,被用作密鑰生成函數的輸入之一,以生成密碼的salt散列值。
eg:$ openssl passwd -1 -salt SALT_STRING PASSWD
$1$SALT_STRING$323VkWkSLHuhbt1zkSsUG.
將SALT_STRING替換為隨機字符串,并將PASSWORD替換成自己的密碼。
?
轉載于:https://www.cnblogs.com/gary-guo/p/6168979.html
總結
以上是生活随笔為你收集整理的2.8加密工具与散列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#-WinForm-无边框窗体的移动和
- 下一篇: return,break,continu