热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

利用Gpg4win来打造一个安全的加密文件

出于工作需要,最近我在研究文件加密,正好找个工具说一说。一、加密模式简述加密工具基于算法模式,一般分两类,一类是对称加密,一种是非对称

出于工作需要,最近我在研究文件加密,正好找个工具说一说。

一、加密模式简述

加密工具基于算法模式,一般分两类,一类是对称加密,一种是非对称加密。前者加密和解密使用一套密钥,常用于密码式加密;后者非对称加密,加密和解密使用两套密钥:一般为公钥加密,私钥解密。

文件加密主要是为了安全,诚然很多软件本身也携带加密功能,但基于对称加密的密码模式,安全性值得商榷。今天我不讨论加密原理,只是实际操作一下来向大家展示非对称加密工具的实践。
在windows平台下,Gpg4win无疑是比较好用的一款非对称加密软件。
官方地址:pgp4win 最新版本为3.0.3

工具是免费的,但是我在下载的时候遇到了捐款提示,如果没有paypal没啥问题。如果有,注意留神是否要捐款。 :)

二、安装Gpg4win

WINDOWS下的软件只要不涉及配置安装一般都是一路next即可
1、程序包
利用Gpg4win来打造一个安全的加密文件

  1. 好消息是,这个软件有中文语言,开心不?
    利用Gpg4win来打造一个安全的加密文件
  2. 出现中文语言的安装向导
    利用Gpg4win来打造一个安全的加密文件
  3. 有必选和可选,具体功能请自行研究
    利用Gpg4win来打造一个安全的加密文件
    5.安装完成,图标如下
    利用Gpg4win来打造一个安全的加密文件

    三、创建公私秘钥对

  4. 第一次启动程序后默认是没有秘钥对,需要手工创建,点击“创建密钥对”
    利用Gpg4win来打造一个安全的加密文件
  5. 创建秘钥需要2个参数,名字和电子邮件,电子邮件地址无需真实邮箱,地址格式符合即可,如下
    利用Gpg4win来打造一个安全的加密文件
    3.在正式创建前后要求你再次检查
    利用Gpg4win来打造一个安全的加密文件
  6. 然后要提示你属于用于保护你秘钥的密码,会根据你的密码强度进行建议
    利用Gpg4win来打造一个安全的加密文件
    5.创建秘钥对需要一定的计算时间
    利用Gpg4win来打造一个安全的加密文件
    6.创建完成提示你保存副本或发送公钥等
    利用Gpg4win来打造一个安全的加密文件
    7.会在主界面展示
    .利用Gpg4win来打造一个安全的加密文件

    四、公私钥加密测试

1、前提准备

我准备了3个文本文件用于测试,分别如下
利用Gpg4win来打造一个安全的加密文件

2、加密一个自己用的文件

1.点击签名/加密按钮

利用Gpg4win来打造一个安全的加密文件

  1. 本次我选择z00w00.txt 文件,然后选择为我加密
    利用Gpg4win来打造一个安全的加密文件
    3.这个时候要输入刚才提示的密码了。这样的好处是防止别人偷用你的电脑帮你加密
    利用Gpg4win来打造一个安全的加密文件
    4 成功后会提示利用Gpg4win来打造一个安全的加密文件
    5.此时桌面会生成z00w00.txt.gpg文件
    利用Gpg4win来打造一个安全的加密文件
    6.这个文件拿到别的计算机上是不打开的
    利用Gpg4win来打造一个安全的加密文件
  2. 即使用记事本打开也一定是乱码
    利用Gpg4win来打造一个安全的加密文件
  3. 即使别人拿到了文件,并安装了软件,由于没有私钥,也不能解密打开,如下
    利用Gpg4win来打造一个安全的加密文件

以上就是保护自己文件的实操说明,这样你就不用担心女票经常检查你的电脑发现你有×××姐视频的不良记录了
^_^

3、加密文件给别人

下面重点说另一个问题,如何加密文件,只有指定的人才能打开

前提1: 对方需安装该软件(貌似废话)

前提2:你需要有对方的公钥

再次强调,公钥加密,私钥解密

为了完成这个测试 ,我另找了一台计算机,软件软件,创建密钥对如下:
利用Gpg4win来打造一个安全的加密文件

1、导出导入公钥

现在完成2个动作

  1. 导出it-dream的公钥
  2. 导入it-dream的公钥到z00w00下
  • 导出公钥如下:
    记得选中(高亮),然后导出
    利用Gpg4win来打造一个安全的加密文件

会导出如下类似文件
利用Gpg4win来打造一个安全的加密文件

  • 导入公钥到z00w00
    利用Gpg4win来打造一个安全的加密文件

利用Gpg4win来打造一个安全的加密文件

利用Gpg4win来打造一个安全的加密文件

利用Gpg4win来打造一个安全的加密文件

利用Gpg4win来打造一个安全的加密文件

利用Gpg4win来打造一个安全的加密文件

至此导入完成

2、加密与解密

选择,为他人加密并勾选他人的公钥
利用Gpg4win来打造一个安全的加密文件

继续会提出一个警告,继续即可
利用Gpg4win来打造一个安全的加密文件

加密成功会有提示
利用Gpg4win来打造一个安全的加密文件

由于使用对方公钥加密,如果原始文件丢失,你无法进行解密回原始文件
利用Gpg4win来打造一个安全的加密文件

现在我们让it-dream来解密吧
利用Gpg4win来打造一个安全的加密文件

由于含有签名,且z00w00并没有把公钥给it-dream,所以会报如下
利用Gpg4win来打造一个安全的加密文件

这次我们导入z00w00的公钥给it-dream就OK了
利用Gpg4win来打造一个安全的加密文件

这样就看到了原始文件
利用Gpg4win来打造一个安全的加密文件

粗体显示的是自己的秘钥

五、只签名不加密

文件签名用于对文件本身进行保护,如果原始文件被人篡改,可以证明不是原作者本人。此功能常用于软件发布,很多软件开发者为了防止自身发布的软件被反编译注入有害代码,特使用签名方式保护软件本身。

1、我们对z00w002.txt进行签名,先看原始内容
利用Gpg4win来打造一个安全的加密文件
2、取消加密勾选,输出签名文件
利用Gpg4win来打造一个安全的加密文件
3、输出签名文件
利用Gpg4win来打造一个安全的加密文件

4、现在,我们可以把签名文件z00w002.txt.sig和原始文件z00w00.txt 发给目标接受者。
在文件没有改动时,验证文件如下:
利用Gpg4win来打造一个安全的加密文件

5、现在我们篡改原始文件,增加文字如下
利用Gpg4win来打造一个安全的加密文件

6、此时再进行校验,一定会报异常
利用Gpg4win来打造一个安全的加密文件

我在实际测试时,使用签名验证,在程序执行完成时,总会报程序异常终止,经过2套系统测试,排除某WINDOWS系统的问题,初步认为是软件兼容性的问题
利用Gpg4win来打造一个安全的加密文件


推荐阅读
  • 1、Everything:速度最快最好用的文件搜索工具,可以基于文件名极速搜索、瞬间定位文件,所有匹配的文件或文件夹都会实时显示,Windows7之后为减少硬盘占用,在关闭索引功能后不能得到“即搜既 ... [详细]
  • 编者按:来自自江民科技的消息称,该公司创始人王江民近日因病去世,享年59岁,为了纪念这位中国反病毒事业的知名专家与老前辈,现摘录来自刘韧在知识英雄系列中采访其的一篇文章 王江民,著名的反病毒专家 ... [详细]
  • JNI技术实践小结转自http:sett ... [详细]
  • Java开发框架!Alibaba高并发业务秒杀系统落地实战文档,砥砺前行!
    接口概述:接口是Java语言中的一种引用类型,是方法的集合,所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK ... [详细]
  • 泛圈企业云盘:打造高效灵活的协同平台提高企业办公效率
    云计算作为一种新的模式,给企业信息化的发展带来了巨大的变化。其中,企业云盘是一种可以快速被接受的企业云应用,因为在企业云盘存储中,所有云服务带来的风险都会大大降低。将文档管理系统本 ... [详细]
  • 编程语言是从哪蹦出来的——大型伦理寻根现场
    Hello,我是Alex007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫Alex的人太多了,再加上每天007的生活,Alex007就诞生了。聊一聊编程到底是啥,怎 ... [详细]
  • 安全加密C语言库OpenSSL,在Android中服务器和客户端之间的签名验证和数据加密通信等。OpenSSL系列文章:一、AndroidCMake轻松 ... [详细]
  • 安全3AAuthentication:认证Authorzation:授权Accouting|Audition:审计用户管理用户:UID:0,不一定是root,root的uid非0时 ... [详细]
  • apk简单介绍APK的组成apk安装流程app的启动过程apk打包流程AIDLAIDL介绍为什么要设计这门语言它有哪些语法?默认支持的数据类型包括什么是apk打包流程 ... [详细]
  • 简单理解rsa的加密和签名PHP实现
    我们先动手在linux上生成一下rsaPs:openssl是一堆加密算法和安全协议的开源集合,像RSA,DES,MD5,RC4等等,都能在openssl里面找到源代码 ... [详细]
  • 看完这篇还搞不懂HTTPS,就来找我!
    本文将为大家详细梳理一下H ... [详细]
  • Linux提权之suid篇
    Linux提权之suid篇不知攻,焉知防一个在安服路上摸索的大三生,记录平时学习笔记suid前言:1.只有可以执行的二进制程序文件才 ... [详细]
  • 本文目录一览:1、数据库有哪几种2、数据库软件 ... [详细]
  • nvmw安装,用于控制node版本;
    之前一直使用的是nodev2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试;上网一看才发现,尼玛的node已经到了6.+版本了,好 ... [详细]
  • 【go密码学】对称加密算法
    对称加密对称加密算法是相对于非对称加密算法而言,两者的区别在于,对称加密和加密和解密时使用相同的秘钥,而非对称加密在加密和解密时使用不同的秘钥(公钥和私钥)。常见的对称加密算法:D ... [详细]
author-avatar
玫瑰编辑1轶事
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有