驱动管家:安全、高效、精准的专业驱动下载站!

linux系统下怎么通过openssl工具包给dsa和rsa非对称加密和解密

2018-01-16 17:39:51责编:dj   来源:驱动管家     人气:

在日常系统管理工作中,需要作一些加解密的工作,通过openssl工具包就能完成我们很多需求!

1. openssl RSA 加解密

RSA是基于数论中大素数的乘积难分解理论上的非对称加密法,使用公私钥的方法进行加解密

公钥 用于加密,它是向所有人公开的 ; 私钥用于解密,只有密文的接收者持有

生成一个密钥(私钥)

复制代码

代码如下:

[root@hunterfu ~]# openssl genrsa -out private.key 1024

注意: 需要注意的是这个文件包含了公钥和密钥两部分,也就是说这个文件即可用来加密也可以用来解密,后面的1024是生成密钥的长度.

通过密钥文件private.key 提取公钥

linux系统下怎么通过openssl工具包给dsa和rsa非对称加密和解密

复制代码

代码如下:

[root@hunterfu ~]# openssl rsa -in private.key -pubout -out pub.key

使用公钥加密信息

复制代码

代码如下:

[root@hunterfu ~]# echo -n "123456" | openssl rsautl -encrypt -inkey pub.key -pubin >encode.result

使用私钥解密信息

复制代码

代码如下:

[root@hunterfu ~]#cat encode.result | openssl rsautl -decrypt-inkey private.key

123456

至此,一次RSA加密解密的过程已经完成!

2. openssl DSA签名与验证

和RSA加密解密过程相反,在DSA数字签名和认证中,发送者使用自己的私钥对文件或消息进行签名,接受者收到消息后使用发送者的公钥来验证签名的真实性

DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,它比RSA要快很多.

生成一个密钥(私钥)

复制代码

代码如下:

[root@hunterfu ~]# openssl dsaparam -out dsaparam.pem 1024

[root@hunterfu ~]# openssl gendsa -out privkey.pem dsaparam.pem

生成公钥

复制代码

代码如下:

[root@hunterfu ~]# openssl dsa -in privkey.pem -out pubkey.pem -pubout

[root@hunterfu ~]# rm -fr dsaparam.pem

使用私钥签名

复制代码

代码如下:

[root@hunterfu ~]# echo -n "123456" | openssl dgst -dss1 -sign privkey.pem >sign.result

使用公钥验证

复制代码

代码如下:

[root@hunterfu ~]# echo -n "123456"| openssl dgst -dss1 -verify pubkey.pem -signature sign.result

Verified OK

至此,一次DSA签名与验证过程完成!

3. 总结及注意事项

注意: 由于信息经过加密或者签名后,都变成不可读模式,为了方便终端查看和传输使用(url提交数据,需要作urlencode操作),可以使用base64进行编码

openssl enc -base64 -A :将加密后的信息使用base64编码

openssl enc -d -base64 -A : 将信息使用base64反编码

java中此私钥需要转换下格式才能使用:

复制代码

代码如下:

[root@hunterfu ~]# openssl pkcs8 -topk8 -nocrypt -in private.key -outform PEM -out java_private.key

当然openssl 是一个很实用的加密工具包,还有很多东西值得学习和总结,以后有空再说!

  • win10镜像怎么写到u盘中去?用下面办法最简单

    win10镜像怎么写到u盘中去?用下面办法最简单

    如今已经有很多朋友们开始使用win10系统了,那么,我们如何将win10镜像写入到U盘里制成U盘启动盘呢?针对此问题,本文就为大家图文详细介绍win10u盘启动盘制作教程

    详情2018-01-07 18:08:24责编:dj   来源:驱动管家     
  • 教你如何使用iTunes截去音乐不需要的前奏

    教你如何使用iTunes截去音乐不需要的前奏

    歌曲的前奏很长,让我们每次听的时候,都忍不住的想要点击快进,那么如何将歌曲截下来,将漫长的前奏截去,下面与大家分享下使用iTunes截取音乐的技巧

    详情2018-01-07 09:12:08责编:dj   来源:驱动管家     
  • 想要提高电脑系统运行速度试下清理注册表

    想要提高电脑系统运行速度试下清理注册表

    由于卸载过的软件的垃圾残留等各种因素造成了注册表垃圾越来越多,影响到系统的正常运行,下面为大家介绍下Win10如何清理注册表垃圾

    详情2018-01-02 17:04:19责编:dj   来源:驱动管家     
  • 关于电脑的qq截图快捷键你知道如何设置使用吗

    关于电脑的qq截图快捷键你知道如何设置使用吗

    QQ截图快捷键怎么设置?当你问下这个问题的时候,笔者就知道,你已经好久没有使用QQ截图快捷键了,当然,也不排除QQ截图快捷键与其它的软件冲突造成失灵的时候,这时候我们只需要重新设置一个快捷键即可。

    详情2018-01-06 17:39:43责编:dj   来源:驱动管家     
  • 在xp系统下应该如何共享文件夹呢

    在xp系统下应该如何共享文件夹呢

    在日常办公中,很多文件需要交换;但是用可移动设备传输有些麻烦,效率也不高于网络传输,这样就会想到在网络共享文件。通过设置共享文件夹可实现资源的充分利用,尤其对处于同一局域网中的用户很有必要。那WinXP如何共享文件夹呢?

    详情2018-01-12 14:52:05责编:dj   来源:驱动管家     
  • windows7激活密钥最可靠的方法有哪些

    windows7激活密钥最可靠的方法有哪些

    相信很多Windows7用户都知道,Windows7旗舰版需要激活。因为正版的Windows7给了一个宽限期为期30天,初始宽限期相当于试用版本,一旦超过30天的激活宽限期系统就会进入缩减功能模式。以下,小编为大家汇总了一些Windows7的激活密钥,还没激活系统的用户,快来看看吧!

    详情2018-01-10 12:22:39责编:dj   来源:驱动管家     
  • 想用蓝牙耳机连接电脑来听音乐怎么连接?

    想用蓝牙耳机连接电脑来听音乐怎么连接?

    蓝牙耳机就是将蓝牙技术应用在免持耳机上,让使用者可以免除恼人电线的牵绊,蓝牙技术让耳机无线化变为可能,下面为大家介绍Win7系统下蓝牙耳机连接电脑的详细步骤

    详情2018-01-04 17:49:43责编:dj   来源:驱动管家     
  • word文档里面的箭头符号是怎么打出来的

    word文档里面的箭头符号是怎么打出来的

    在编辑Word文档的时候有时需要输入一些特殊符号,让文档看起来更加直观。不过很多时候用户不知道如何输入特殊符号?比如碰到箭头这个符号的时候,多数用户就不知道如何输入了,今天在这边就教大家如何在Word文档中输入箭头符号。

    详情2018-01-09 16:52:06责编:dj   来源:驱动管家     
  • u盘无法弹出试下这样设置u盘不需要弹出直接拔出

    u盘无法弹出试下这样设置u盘不需要弹出直接拔出

    U盘无法弹出是用户经常遇到的问题,不是被U盘占用无法弹出就是安全删除硬件失败,甚至有用户动用通用卷的力量,还是无法关闭……其实只要我们可以确认U盘中的文件没有占用U盘,我们就可以设置U盘可以不需要弹出直接拔出。

    详情2018-01-12 10:56:11责编:dj   来源:驱动管家     
  • 浏览器打不开网页的时候可以试下这样处理

    浏览器打不开网页的时候可以试下这样处理

    360浏览器打不开网页,或者打开之后网友又显示不了,出现这一类问题有很多,比如:程序损坏,无网络连接,还有防火墙或者杀毒软件拦截。那遇到这样的问题要如何解决呢?

    详情2018-01-13 20:03:01责编:dj   来源:驱动管家