概述
- 解密时如何覆盖已经存在的解密后文件,而不是弹出询问框是否覆盖
- 初识GPG
- 加解密实现
- gui加解密
- 生成密钥
- 命令行方式加解密
- 信任度设置
- 方法一
- 方法二
- 参考链接
解密时如何覆盖已经存在的解密后文件,而不是弹出询问框是否覆盖
初识GPG
首先下载gpg套件,https://gpgtools.org/
安装完成后首先建立公私钥,建立好后如下图:
加解密实现
gui加解密
最简单的验证方法就是通过gpg的gui进行对文件的加解密,就是在要加密的文件上右键,选择服务,选择open pgp:encrypt file,然后会跳出一个弹框,选择密钥,输入密码即可成功加密,解密的话直接双击刚才加过密的文件即可
生成密钥
gpg --gen-key
输入真实姓名和邮箱以及密码就会创建成功了
命令行方式加解密
加密命令一:把桌面上报表.xlsx文件用xmliu的公钥进行加密
gpg --recipient xmliu --output aa.xlsx --encrypt Desktop/报表.xlsx
解密命令一:
gpg --local-user xmliu --output aa2.xlsx --decrypt aa.xlsx
gpg: 由 4096 位的 RSA 密钥加密,钥匙号为 DC1CCF1EA53BE721、生成于 2018-03-08
“xmliu (xmrp) <diyangxia@163.com>”
加密命令二:
gpg -e -r xmliu Desktop/ab.txt
然后在同目录下会生成一个加密后的文件,文件名为ab.txt.gpg
解密命令二:添加-o参数,就是output的意思,不加的话默认是不输出到文件,直接输出到控制台显示出来
gpg -o Desktop/ab.txt -d Desktop/ab.txt.gpg
正常来说,加解密不应该在同一个终端进行,所以为了测试方便,把刚才加密后的文件ab.txt.gpg通过scp上传到namenode上,也就是局域网内的另外一台机器
然后在namenode上进行对该文件的解密
首先需要在本机上导出私钥
导出私钥命令:–export-secret-keys后面需不需要加密钥id还不太清除,不过在钥匙环里只有我这一个密钥的时候加不加都没有影响
gpg --armor --output private-key.txt --export-secret-keys
按回车输入密码
顺便看看导出公钥的命令
gpg --armor --output public-key.txt --export xmliu
然后在namenode上导入私钥:
gpg --import private-key.txt
执行解密命令
gpg -d Desktop/ab.txt.gpg
输入密钥的密码即可
这里如果想做成解密自动化的话,可以使用passphrase命令,为了不产生交互,可以把解密密钥的密码设置成空,在密钥编辑模式下输入:
password # 如果提示要有私钥才能这么做。就说明这个密钥没有私钥
如果不设置空的话,操作方法参考这里 gpg 自动解密
以及解决 crontab 下运行 gpg 文件加解密问题
echo "password" | gpg --batch --passphrase-fd 0 --output <outputFile> --decrypt <decryptFile.gpg>
另外一种方法,参见烂泥:gpg加解密软件学习
gpg –no-use-agent –passphrase=hahaha -q –no-tty -d file.txt.gpg
查看密钥列表:
gpg --list-key
私钥列表:
gpg --list-secret-key
删除指定密钥,删除公钥前要先删除私钥:
gpg --delete-key
删除私钥:
gpg --delete-secret-key xmliu
信任度设置
关于对银行提供的公钥进行信任度处理的步骤:
方法一
1、导入公钥
gpg --import example.public
2、编辑公钥,进入密钥编辑模式
gpg --edit-key example
3、进入gpg编辑模式
3.1 签名
gpg> sign # 使用已有的密钥对导入进来对密钥进行签名
3.2 信任度设置
gpg> trust # 选择信任度,一般4或者5
3.3 保存
gpg> save # 保存退出编辑模式
方法二
直接使用参数来强制信任
gpg -r mygpg -e abc.txt --trust-model always
经测试,–trust-model always这个参数无效,也就是方法二无效
参考链接
[1]. GPG入门指南(加密/签名)
[2]. GPG入门教程
[3]. GPG 加密解密简明教程
[4]. 使用 GPG 对数据进行加密解密签名
[5]. 使用GPG对文件进行加密解密批处理
最后
以上就是专一奇迹为你收集整理的GPG对文件加解密的简单实现解密时如何覆盖已经存在的解密后文件,而不是弹出询问框是否覆盖初识GPG加解密实现信任度设置参考链接的全部内容,希望文章能够帮你解决GPG对文件加解密的简单实现解密时如何覆盖已经存在的解密后文件,而不是弹出询问框是否覆盖初识GPG加解密实现信任度设置参考链接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复