萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux如何使用OpenSSL命令行

Linux如何使用OpenSSL命令行

  OpenSSL是一款命令行工具,Linux可使用OpenSSL進行一些命令行相關工作,那麼Linux要如何使用OpenSSL命令行呢?下面小編將針對OpenSSL命令行的使用給大家做個詳細介紹。

 Linux如何使用OpenSSL命令行

  1. base64編碼/解碼

  談到命令行下如何發送郵件附件,很多人想起了uuencode。也可以使用base64編碼。以下是openssl base64編碼/解碼的使用:

  $ openssl base64 《 filename.bin 》 filename.txt

  $ openssl base64 -d 《 filename.txt 》 filename.bin

  2. 校驗文件的一致性

  UNIX下校驗文件一致性的方法很多,比如sum、cksum、md5sum、sha1sum等。sum和cksum適用於簡單校驗的場合,生成的校驗碼容易重復。md5sum有安全漏洞,當前比較推薦的是sha1sum。不過sha1sum在不同的平台用法有些不同。考慮到跨平台性,建議用openssl。

  $ openssl sha1 filename

  SHA1(filename)= e83a42b9bc8431a6645099be50b6341a35d3dceb

  $ openssl md5 filename

  MD5(filename)= 26e9855f8ad6a5906fea121283c729c4

  3. 文件加密/解密

  OpenSSL支持很多加密算法,不過一些算法只是為了保持向後兼容性,現在已不推薦使用,比如DES和RC4-40。推薦使用的加密算法是bf(Blowfish)和-aes-128-cbc(運行在CBC模式的128位密匙AES加密算法),加密強度有保障。

  加密示例:

  $ openssl enc -aes-128-cbc 《 filename 》 filename.aes-128-cbc

  enter aes-128-cbc encryption password:

  Verifying - enter aes-128-cbc encryption password:

  解密示例:

  $ openssl enc -d -aes-128-cbc -in filename.aes-128-cbc 》 filename

  enter aes-128-cbc decryption password:

上一頁12下一頁共2頁

  4. 口令生成和傳遞

  openssl可以生成隨機性很強的口令。

  $ openssl rand 15 -base64

  s69mj+8ToN2p3Z1KESBG

  以上命令要求openssl生成15個字節序列,然後用base64編碼,結果產生20個字符。

  在日常生活中,經常可看到這樣的情況:系統管理員設置初始密碼給用戶,然後讓用戶登錄去修改新密碼,這給安全帶來了隱患。較好的做法是用戶生成口令加密後的結果發給管理員,讓管理員設置到系統中。

  比如對於以上生成的口令,UNIX口令加密方法如下:

  $ openssl passwd -1 s69mj+8ToN2p3Z1KESBG

  $1$Rp/btEwK$qhUGFlsIpDtNT1I9MD/Gg1

  管理員收集每個用戶交給他的加密後的串,寫到一個文件中,比如文件名為newpassword:

  user_a:$1$Rp/btEwK$qhUGFlsIpDtNT1I9MD/Gg1

  user_b:$1$zmUy5lry$aG45DkcaJwM/GNlpBLTDy0

  一個用戶一行,用戶名和密碼之間用冒號分隔。

  系統管理員運行如下命令導入用戶密碼:

  $ chpasswd --encrypted 《 newpassword

  對於老UNIX系統,生成口令密碼不需要參數-1,比如:

  $ openssl passwd s69mj+8ToN2p3Z1KESBG

  Warning: truncating password to 8 characters

  FS4lGulQ915WU

  如果passwd命令後沒有接口令,openssl會提示輸入一個:

  $ openssl passwd -1

  Password:

  Verifying - Password:

  $1$jACBc0.C$KR5DcpttXQoKfDiapyvav0

  上面就是Linux使用OpenSSL命令行的方法介紹了,Linux可使用OpenSSL生成和傳遞口令、校檢文件的一致性、對文件進行加密處理等。

上一頁12 下一頁共2頁
copyright © 萬盛學電腦網 all rights reserved