首页 运维 安全 如何进行OpenSSL基础中的加密及解密

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

May 22, 2023 am 09:20 AM
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基础中的加密及解密的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)