在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 已经能够成为大众的加密工具。

相关文章
相关标签/搜索