在PHP中使用加密技術

Gpg4win 是一款基於 GPG 的非對稱加密軟件。非對稱加密方式,簡單理解就是用公鑰加密文件,用私鑰解密文件。若是你須要發送加密信息,首先獲取接收者的公鑰,而後利用該公鑰加密後傳遞,對方利用對應的私鑰就可解密。也就是說,公鑰是鎖,私鑰是鑰匙。非對稱加密方式很好地解決了傳遞機密信息的問題。html

GPG,又稱爲 GnuPG,全稱是 Gnu Private Guard,即 GNU 隱私衛士。GPG 是以 PGP 算法爲核心的強大的加密軟件。但 GPG 項目是一套命令行程序,並且是爲 Linux 等開源操做系統設計的。好在開發者爲 GPG 開發了許多圖形前端並將其遷移到 Windows 平臺,Gpg4win 就是 Windows 平臺 GPG 及圖形前端的集合安裝包,本文將介紹 Gpg4win 中圖形前端的使用方法,不會涉及 GPG 的命令行使用方法。前端

  1. 下載安裝 Gpg4win

下載地址:gpg4win(gpg加密軟件) v2.3.0 官方中文安裝版 下載-腳本之家 http://www.jb51.net/softs/447623.html算法

首先到官方網站下載 Gpg4win,進入下載頁面以後點擊下載按鈕便可下載。安全

在開始安裝 Gpg4win 以前,咱們先來了解一下 Gpg4win 是由哪些組件組成的。Gpg4win 的核心是 GPG,幷包括 KleopatraGPAGpgOLGpgEXClaws Mail 五個相關工具,其中 Kleopatra GPA GPG 的密鑰管理器,用於生成、導入和導出 GPG 密鑰(包括公鑰和私鑰),GpgOL Outlook 2003 2007 GPG 支持插件,GpgEX 是資源管理器的 GPG 支持插件(不支持 Windows 64 位),Claws Mail 則是一個內置 GPG 支持的郵件客戶端。本文將介紹 Kleopatra GpgEX 的使用方法。服務器

運行 Gpg4win 安裝程序,選擇安裝組件時建議修改默認設置,默認 Gpg4win 將安裝 GnuPG 核心、KleopatraGpgOLGpgEX 以及支持文檔(英文和德文)。我推薦只選擇 Kleopatra GpgEX工具

其他的安裝過程保持默認設置便可。安裝完成以後安裝程序會要求設置信任的根證書,勾選下方的「Root certificate defined or skip configuration」(根證書已定義或跳過設置),該設置只對 S/MIME 加密形成影響,而一般咱們使用的是 OpenPGP 標準,即 PGP 算法。最後結束整個安裝過程便可。網站

2. 建立密鑰對加密

GPG 做爲非對稱加密軟件,進行加密解密以前必須生成密鑰對,也就是生成對應公鑰和私鑰。請按如下步驟使用 Kleopatra 生成密鑰對:spa

  1. 運行Kleopatra,點擊File(文件)菜單中的New Certificate(建立新證書)一項,運行Certificate Creation Wizard(證書建立嚮導)。
  2. 進入證書類型頁面,有兩個選項可供選擇:第一項是 OpenPGP 密鑰對,第二項是 X.509 密鑰對及證書。此處咱們選擇第一項。

3.進入詳細信息頁面,須要填入密鑰對的詳細信息,包括Name(姓名)、Email(電子郵箱地址)和Comment(附加信息)三項。點擊Advanced Settings(高級設置)按鈕,能夠對密鑰算法和強度以及密鑰用途進行設置,爲了加強安全性能夠在上方的密鑰強度中選擇最高的3072 bits3072位),下方的密鑰用途設置主要有三個設置:Signing(簽名)、Encryption(加密)和Authentication(認證),維持默認設置便可,最後的Valid until選項能夠設置密鑰到期時間。設置完成點擊下一步。操作系統

4.最後確認密鑰對的相關設置。點擊Create Key(建立密鑰)按鈕,程序將要求輸入 Passphrase(密碼短語),Passphrase 是使用私鑰以前須要輸入的密碼短語,不過與普通密碼相比,Passphrase 長度更長,並且能夠包含空格。輸入 Passphrase 以後還能夠在下圖所示的文本框中輸入幫助計算機建立更爲安全的密鑰,輸入內容可有可無,計算機只是利用擊鍵的間歇時間生成隨機數,或者也能夠移動這一窗口來幫助計算機生成隨機數。

5.最後 Kleopatra 將提示建立密鑰對完成,下方三個選項是備份密鑰對、經過 Email 發送公鑰和將公鑰上傳到服務器,若是不須要執行上述操做點擊 Finish(完成)便可。

3. 導入導出公鑰

生成密鑰對以後,咱們必須導出公鑰,請按如下步驟導出公鑰:

  1. Kleopatra 主界面中右鍵點擊要導出公鑰的密鑰對,在右鍵菜單中選擇 Export Certificates(導出證書)。
  2. 指定公鑰的保存路徑和文件名稱。

除此以外,菜單中其餘兩項導出選項含義以下:

  • Export Secret Keys(導出私鑰):用以導出密鑰對。
  • Export Certificates to Server(導出證書到服務器):用以將公鑰導出到服務器上。其餘用戶能夠在存放公鑰的公有服務器上搜索公鑰並導入,默認的公鑰服務器是 keys.gnupg.net

導入公鑰能夠經過 File(文件)菜單中的 Import Certificates(導入證書)選項進行,也能夠直接利用拖拽操做將公鑰文件拖到 Kleopatra 的密鑰列表,而後在彈出的菜單中選擇 Import Certificates(導入證書)便可。

對於導出到服務器的公鑰,選擇 File(文件)菜單中的Lookup Certificates on Server(在服務器上搜索公鑰)選項,輸入 Email 地址點擊 Search(搜索)按鈕就能夠找到對應的公鑰,點擊 Import(導入)按鈕就能夠導入公鑰。

4. 加密解密文件

導入公鑰以後,咱們就能夠加密文件了。啓動加密操做嚮導有三種途徑,一種是在 Kleopatra 主界面中選擇 File(文件)菜單中選擇 Sign/Encrypt Files(簽名/加密文件),一種是將要加密的文件或文件夾拖拽到 Kleopatra 主界面中,而後在彈出的右鍵菜單中選擇 Sign/Encrypt(簽名/加密),一種則是在想要加密的文件或文件夾的右鍵菜單中選擇 Sign and encrypt(簽名與加密)。這三種途徑沒有本質區別,除了第一種途徑沒法選擇文件夾所以只能加密文件。下面對加密嚮導進行介紹:

  1. 首先是選擇操做類型,分別是簽名並加密、加密和簽名,默認選擇的是中間一項加密,最下方的複選框 Remove unencrypted original file when done 是指加密完畢刪除源文件,爲了保證安全建議選上該項。設置完畢點擊Next
  2. 如今嚮導會列出計算機上的全部公鑰,請選擇正確的公鑰並點擊中間的 Add(添加)將其添加到下方的列表中,以下圖所示:
  3. 選擇完畢點擊 Encrypt(加密)按鈕開始加密,假如你選擇的是他人的公鑰,那麼 Kleopratra 會彈出對話框提示你加密以後你將不可以解密,點擊 Continue 確認,保密完成以後點擊 Finish 確認便可。
  4. 加密完成以後會在源文件所在文件夾生成 .gpg 爲擴展名的加密文件,如今你能夠把這個文件發給公鑰全部者。

接收到已經加密的文件以後應該怎麼解密呢?方法和加密很是相似,也是經過嚮導完成的。啓動解密嚮導的途徑一樣有三種,一是在 Kleopatra 主界面中選擇 File(文件)菜單中選擇 Decrypt/Verify Files(解密/驗證文件),一是將要解密的文件或文件夾拖拽到 Kleopatra 主界面中,而後在彈出的右鍵菜單中選擇 Decrypt/Verify(解密/驗證),一種則是在想要解密的文件或文件夾的右鍵菜單中選擇 Decrypt and verify(解密和驗證)。

以上述任意一種方式啓動加密嚮導,點擊解密嚮導對話框的 Decrypt/Verify(解密/驗證)按鈕,假如彈出對話框,請輸入你的私鑰的 Passphrase,輸入以後點擊 OK 就可使用你的私鑰進行解密了,注意在本用戶對話期間你再次使用私鑰是不須要輸入Passphrase的,也就是說,使用私鑰以後最好註銷一下以保證安全。

GnuPG 和其餘加密工具相比,其非對稱性加密的特色使其更適合於機密信息的傳遞。除了加密解密以外,GPG 還能夠對文件進行簽名和驗證,功能很是強大。並且因爲 GPG 圖形化前端功能的日益完善,GPG 的使用已經再也不困難,Gpg4win 已經能夠成爲大衆的加密工具。

相關文章
相關標籤/搜索