首頁  >  文章  >  運維  >  如何進行OpenSSL基礎中的加密及解密

如何進行OpenSSL基礎中的加密及解密

WBOY
WBOY轉載
2023-05-22 09:20:063266瀏覽

當提到OpenSSL時,首先必須提到SSL。可能沒有人希望他們的網路活動被其他網友監聽到,當我們在日常上網時。因此就需要一種協定為我們的網路通訊保駕護航。 SSL協定是基於這樣的工作背景開發的,它能使用戶跟伺服器應用之間的通訊不被攻擊者竊聽,並且始終對伺服器進行認證,可選擇的對使用者進行認證。

通常情況下,SSL協定是基於可靠的傳輸層協定(TCP)建立的。 SSL協定的優點在於它是與應用層協定獨立無關的,高層的應用層協定(例如:HTTP,FTP,TELNET等)能透明地建立於SSL協定之上。在進行應用層協定通訊之前,SSL協定就已經完成了加密演算法的處理、通訊金鑰的協商和伺服器認證工作。所有經過應用層協定傳輸的資料都會被加密,以確保通訊的機密性。 

   s所謂加密,只不過是將明文透過某種機制轉換成密文,網路通訊時,所使用的加密安全機制有:對稱加密,公鑰加密,單向加密。    

  對稱加密的特性與缺陷:加密解密使用同一個金鑰,明文分割成固定大小的區塊,逐一加密。其缺陷在於通訊雙方要管理的金鑰過多,而且金鑰分發困難。其加密演算法有:DES、3DES、AES。

公鑰加密有以下特徵:其金鑰成對出現,常用的加密演算法包括RSA和DSA。其用途有:一是用於身份認證:發送方使用自己的私鑰加密數據,接收方使用與之公鑰解密;二是用於密鑰交換:發送方使用接收方的公鑰加密數據,接收方使用自己的私鑰解密。公鑰在私鑰中提取出來

  單向加密的特性:定向輸出,有雪崩效應。此加密演算法包括MD5、SHA1、SHA256、SHA384和SHA512。常用於擷取資料的特徵碼。

在今年4月10日,安全協議OpenSSL曝光了本年最嚴重的安全漏洞,「心臟出血」。使人們開始重視這個開源協議。那麼OpenSSL到底是什麼呢?其實OpenSSL可以看成是SSL的函式庫,由openssl多用途的命令列工具、公共加密庫libcrypto、以及ssl協定庫libssl三大元件組成。

    openssl多重用途的命令列工具可用於實現對稱加密

                的檔案-out 加密後的檔案輸出路徑

例如,對/etc/fstab這個檔案使用DES3演算法加密: openssl enc -e -des3 -a -salt -in /etc /fstab -out /tmp/fstab 

如何進行OpenSSL基礎中的加密及解密

加密結果:

如何進行OpenSSL基礎中的加密及解密

   解密:

openssl enc -d -對稱加密演算法-a -salt -in 需要解密的檔案-out 解密後的檔案輸出路徑

例如,將上面加密的檔案解密: openssl enc -d -des3 -a -salt -in /tmp/fstab -out /tmp/Fstab

如何進行OpenSSL基礎中的加密及解密

#解密結果:

如何進行OpenSSL基礎中的加密及解密##    也可用於

公鑰加密中的金鑰交換:(umask 077;openssl genrsa -out 輸出私鑰檔案路徑)

              

從私密私鑰提取公鑰:        

為私人鑰檔路徑-pubout

註:()表示指令在子shell中執行,umask 077 保證了私鑰檔案的存取權限

如何進行OpenSSL基礎中的加密及解密

如何進行OpenSSL基礎中的加密及解密

    也可用於

單向加密:openssl dgst -md5|-sha1 -out 檔案輸出路徑要加密的檔案

#例如,將/etc/passwd使用md5加密:openssl dgst -md5  -out /tmp/md5passwd /etc/passwd

如何進行OpenSSL基礎中的加密及解密

    也可用於

產生使用者密碼: openssl#    也可用於產生使用者密碼passwd -1 -salt SALT_STRING 使用者密碼

###

如何進行OpenSSL基礎中的加密及解密

    也可用於產生隨機數字:openssl rand -hex 位元組數

如何進行OpenSSL基礎中的加密及解密

########################################################################

以上是如何進行OpenSSL基礎中的加密及解密的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除