GPG加密windows中使用
在Windows系统使用Gpg4win进行加密解密
2015-06-15 by u014076884
GPG,又称为GnuPG,全称是Gnu Private Guard,即GNU隐私卫士。GPG是以PGP算法为核心的强大的加密软件。但GPG项目是一套命令行程序,而且是为 Linux 等开源操作系统设计的。那么在Windows平台下如何使用GPG呢?不用担心,Gpg4win就是Windows平台GPG及图形前端的集合安装包。
简单介绍一下,Gpg4win是一款非对称加密方式软件。简单来讲,就是用公钥加密文件,用私钥解密文件。如果你需要发送加密信息,首先获取接收者的公钥,然后利用该公钥加密后传递,对方利用对应的私钥就可解密。也就是说,公钥是锁,私钥是钥匙。非对称加密方式很好地解决了传递机密信息的问题。
下载安装Gpg4win
请到官方网站下载:http://www.gpg4win.org/
之后运行安装程序,保持默认设置即可。安装完成后会要求设置信任的根证书,勾选下方的Root certificate defined or skip configuration(根证书已定义或跳过设置)即可。
创建密钥对
- 运行Kleopatra,点击File – New Certificate,会弹出Certificate Creation Wizard(证书创建向导)选择第一项 Create a personal OpenPGP key pair。填入Name(姓名)、Email(电子邮箱地址)和Comment(附加信息)。点击Advanced Settings,可以进行高级设置,为了增强安全性,建议选择最长的4096 bits,其余维持默认设置即可。点击Create Key,之后输入Passphrase,点击OK。
请牢记Passphrase
- ,因为在使用自己的私钥时需要输入Passphrase。在创建的过程中,可以在下图所示的文本框中随意打字或者移动这一窗口,计算机将利用IO生成随机数。

- 创建完成后,下方有三个选项是:备份密钥对、通过Email发送公钥、将公钥上传到服务器。如果不需要执行上述操作,点击Finish即可。
导入导出秘钥
公钥加密,私钥解密。如果想要别人给你发送加密信息,别人就要知道你的公钥才行。公钥之所以称为公钥,就是因为它是公开的。接下来,我们需要把自己的公钥公之于众,上传到专门的服务器上。这里以上传到MIT的PGP公钥服务器为例。
- 在Kleopatra主界面右键点击要导出的秘钥,点击Export Certificates,输入保存路径和文件名,点击保存后会得到一个asc文件。
- 使用文本编辑器打开刚才生成的asc文件,复制全部内容。使用浏览器访问MIT的PGP公钥服务器http://pgp.mit.edu/,将刚才复制的内容黏贴到“Submit a key”下方的文本框里,点击Submit this key to the key server!。上传成功后,别人搜索你的邮箱即可获取你的公钥。
反过来,如果你想给别人发送加密信息,就需要获取他的公钥。假如我想发送给123@gmail.com,则需要通过以下步骤获取相应的公钥。
- 使用浏览器访问MIT的PGP公钥服务器http://pgp.mit.edu/,在“Extract a key”下方的文本框输入123@gmail.com,如下图所示。之后点击Do the search!。
- 在搜索结果页中点击相应的keyID,会进入一个有一长串乱码的页面。复制该页面的全部内容。打开文本编辑器,黏贴刚才复制的内容,保存。文件名随意,例如“neo.asc”。在Kleopatra主界面点击Import Certificates,选择刚才保存的文件,点击打开。这样就成功导入了一个公钥。
加密文本
下面的例子将演示如何加密一段文本并通过邮件发送给别人。
- 打开文本编辑器,输入你想要加密的文本(即原文),保存。文件名随意,例如“send.txt”。在Kleopatra主界面点击 File – Sign/Encrypt Files,选择刚才保存的文件。之后弹出的窗口中间有3的选项,分别是签名并加密(Sign and Encrypt (OpenPGP only))、加密(Encrypt)、签名(Sign)。这里我们选择默认选项——加密(Encrypt)。因为我们要通过邮件发送纯文本,勾选Text output(ASCII armor)。点击Next。
- 之后从上方的列表中选择接受方的公钥(前提是你已经导入了接收方的公钥),点击Add添加到下方列表。点击Ecrypt开始生成密文。密文生成后,点击Finish。在和原文同一路径下找到刚生成的密文“send.txt.asc”。用文本编辑器打开,复制全部内容。将刚才复制的密文发送给接收方,就像平时发邮件一样。
解密文本
下面的例子将演示如何解密一封收到的密文。
- 复制收到的密文。打开文本编辑器,粘贴,保存。文件名随意,例如“receive.txt”。在Kleopatra主界面点击 File – Decrypt/Verify Files,选择刚才保存的文件。选择输出的路径,默认是和密文同一路径,点击Decrypt/Verify。之后会要求你输入passphrase,就是我们在创建密钥时输入的那个。点击确定。解密完成后,点击OK。在输出路径找到解密后的文件“receive.txt.out”,用文本编辑器打开即可看到原文。
- 转自:https://m.th7.cn/show/47/201506/107545.html
- 本人需要集成到asp.net程序中
GPG加密windows中使用的更多相关文章
- Windows中的权限设置、文件压缩、文件加密、磁盘配额和卷影副本
目录 权限设置 文件夹的NTFS权限 文件的NTFS权限 NTFS权限的应用规则 文件压缩 文件加密 磁盘配额 卷影副本 权限设置的应用 遇到的一个权限问题的小bug 权限问题的实际应用 权限设置 ...
- 如何加密 Windows VM 上的虚拟磁盘
为了增强虚拟机 (VM) 的安全性以及符合性,可以加密 Azure 中的虚拟磁盘. 磁盘是使用 Azure 密钥保管库中受保护的加密密钥加密的. 可以控制这些加密密钥,以及审核对它们的使用. 本文详细 ...
- 下载文件时-修改文件名字 Redis在Windows中安装方法 SVN安装和使用(简单版) WinForm-SQL查询避免UI卡死 Asp.Net MVC Https设置
下载文件时-修改文件名字 1后台代码 /// <summary> /// 文件下载2 /// </summary> /// <param name="Fil ...
- [内网渗透]Windows中的用户帐户与组账户
0x01 用户帐户 1.1 简介 用户帐户是对计算机用户身份的标识,本地用户帐户.密码存在本地计算机上,只对本机有效,存储在本地安全帐户数据库 SAM 中. 文件路径:C: ...
- gpg加密和解密
linux:gpg加密和解密 1 创建密钥 2 查看私钥 3 导出公钥 4 导出私钥 5 导入秘钥 5.1 公钥 6 公钥加密 7 私钥解密 创建密钥 gpg --gen-key 你要求输入一下内容, ...
- Ubuntu下访问Windows中Postgresql
因为项目的原因,需要将Ubuntu中的一些信息记录到Windows中的Postgresql数据库中,查看网上信息,最后成功了,特地记录以下,需要以下步骤: (1)在Windows中Postgresql ...
- Windows中的用户和组以及用户密码处理
目录 用户帐户 Windows 默认账户 Windows 内置用户账户 查看.创建和删除账户 组账户 内置组账户 组的查看.创建和删除 Windows中对用户密码的处理 LM-hash NTLM-ha ...
- windows中抓取hash小结(下)
书接上回,windows中抓取hash小结(上) 指路链接 https://www.cnblogs.com/lcxblogs/p/13957899.html 继续 0x03 从ntds.dit中抓取 ...
- windows中抓取hash小结(上)
我上篇随笔说到了内网中横向移动的几种姿势,横向移动的前提是获取了具有某些权限的用户的明文密码或hash,正愁不知道写点啥,那就来整理一下这个"前提"-----如何在windows系 ...
随机推荐
- 关于jquery文件上传插件 uploadify 3.1的使用
要使用uplaodify3.1,自然要下载相应的包,下载地址http://www.uploadify.com/download/,这里有两种包,一个是基于flash,免费的,一个是基于html5,需要 ...
- C#学习小记
1.C#是由微软推出的,基于.Net Framework的面向对象的高级编程语言. 2.C#代码编辑器为Visual Studio,简称VS. 3.Hello World VS中新建Windows控制 ...
- COM基础
为什么说COM的可重用性是建立在二进制级别? COM本身是语言无关,它的标准建立在二进制级别.对于使用COM组件的客户程序,它只需要要使用的COM对象信息就可以通过COM库的帮助创建和使用COM对象, ...
- javascript中封装scoll()方法
function scroll() { var scrollTop = window.pageYOffset || document.documentElement.scrollTop || docu ...
- Spinner默认选择问题
1.需求中使用Spinner,不允许有默认选中,在网上查了好多,有设置 spinner.setSelection(-1,true); 也有设置如下: spinner.setOnItemSelected ...
- CDR X6打了3折,再送魔镜插件,是真的么?
明人不说暗话,我.要.来.个.小.资.讯. CDR X6打了3折,再送魔镜插件,是真的么? 先来说说CorelDRAW,CorelDRAW众所周知,软件的确不便宜啊,对于个人来说,相当于一个高配苹 ...
- Django框架详解之views
一个简单的视图 一个视图函数,是一个简单的python函数,它接受web请求并且返回web响应.无论视图本身包含什么逻辑,都要返回响应.为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为 ...
- 堆————数据流的第k个大的元素
解题思路 一般地,堆和堆排序——解决 "贪心算法及其类似问题" 的利器. # 思路:我们可以用一个小根堆来做,并且限制堆的大小为k,初始化时把nums的每个数都push到堆中,如果 ...
- 路飞学城Python-Day39(第四模块复习题)
并发编程 一.简答题 1,简述计算机操作系统的中断的作用 由于cpu本身一次只能执行一个程序,操作系统提供的中断机制使得cpu能够实现不断的在各个程序间进行切换,给人的感觉就是多个程序同时执行 为什么 ...
- Client初见——python
from socket import *ip_port = ('127.0.0.1',8080)back_log = 5buffer_size = 1024tcp_client = socket(AF ...