如何进行OpenSSL基础中的加密及解密

发布时间:2022-01-10 10:34:26 作者:柒染
来源:亿速云 阅读:1203

这篇文章主要为大家分析了如何进行OpenSSL基础中的加密及解密的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行OpenSSL基础中的加密及解密”的知识吧。

    说到OpenSSL,首先要提的是SSL。我们在日常上网的时候,恐怕没有人愿意被网络上的其他人监听到我们的上网行为。因此就需要一种协议为我们的网络通信保驾护航。SSL协议就是基于这样的工作背景开发的,它能使用户跟服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,可选择的对用户进行认证。

    SSL协议通常建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的保密性。 

   s所谓加密,只不过是将明文通过某种机制转换成密文,网络通信时,使用的加密安全机制有:对称加密,公钥加密,单向加密。    

  对称加密的特性与缺陷:加密解密使用同一个密钥,将明文分割成固定大小的块,逐个进行加密。其缺陷在于通信双方要管理的密钥过多,而且密钥分发困难。其加密算法有:DES、3DES、AES。

  公钥加密的特性:密钥成对出现,其加密算法有:RSA、DSA。其用途有:一是用于身份认证:发送方使用自己的私钥加密数据,接收方使用与之公钥解密;二是用于密钥交换:发送方使用接收方的公钥加密数据,接收方使用自己的私钥解密。公钥在私钥中提取出来

  单向加密的特性:定向输出,有雪崩效应。其加密算法有:MD5、SHA1、SHA256、SHA384、SHA512。常用于提取数据的特征码。

   今年4月10号安全协议OpenSSL爆出本年度最严重的安全漏洞“心脏出血”。使人们开始重视这个开源协议。那么OpenSSL到底是什么呢?其实OpenSSL可以看作是SSL的库,由openssl多用途的命令行工具、公共加密库libcrypto、以及ssl协议库libssl三大组件组成。

    openssl多用途的命令行工具可用于实现对称加密

                        openssl enc -e -对称加密算法 -a -salt -in 需要加密的文件 -out 加密后的文件输出路径

例如,对/etc/fstab这个文件使用DES3算法加密: openssl enc -e -des3 -a -salt -in /etc/fstab -out /tmp/fstab 

如何进行OpenSSL基础中的加密及解密

加密结果:

如何进行OpenSSL基础中的加密及解密

   解密:openssl enc -d -对称加密算法 -a -salt -in 需要解密的文件 -out 解密后的文件输出路径

例如,将上面加密的文件解密: openssl enc -d -des3 -a -salt -in /tmp/fstab -out /tmp/Fstab

如何进行OpenSSL基础中的加密及解密

解密结果:

如何进行OpenSSL基础中的加密及解密

    还可以用于公钥加密中的密钥交换:(umask 077;openssl genrsa -out 输出私钥文件路径)

              从私钥中提取公钥: openssl rsa -in 私钥文件路径 -pubout

注:()表示命令在子shell中执行,umask 077 保证了私钥文件的访问权限

如何进行OpenSSL基础中的加密及解密

如何进行OpenSSL基础中的加密及解密

    还可用于单向加密:openssl dgst -md5|-sha1 -out 文件输出路径 要加密的文件

例如,将/etc/passwd使用md5加密:openssl dgst -md5  -out /tmp/md5passwd /etc/passwd

如何进行OpenSSL基础中的加密及解密

    还可以用于生成用户密码: openssl passwd -1 -salt SALT_STRING 用户密码

如何进行OpenSSL基础中的加密及解密

    还可以用于生成随机数:openssl rand -hex 字节数

如何进行OpenSSL基础中的加密及解密

这篇文章主要为大家分析了如何进行OpenSSL基础中的加密及解密的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行OpenSSL基础中的加密及解密”的知识吧。

推荐阅读:
  1. Openssl及加密解密(二)openssl
  2. javascript与php实现openssl加密/解密

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

openssl

上一篇:常见Linux运维面试题有哪些

下一篇:UI设计师需要具备哪些技能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》