如何进行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基础中的加密及解密的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3240630.html

(0)
上一篇 2025年4月2日 05:48:16
下一篇 2025年4月2日 05:48:24

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 什么是对称加密?

    采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 目录 1 定义 2 工作过程 3 常用算法 4 优缺点 定义 需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密…

    2025年3月31日
    200
  • 关于openssl ca的详细介绍

            关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 。 openssl是一个开源程序的套件、这个套件有三个部分组成:一是libcryto,这是一个具有通用功能的加密库,里面实现了众多的…

    编程技术 2025年3月31日
    200
  • 伪命令req功能的详细介绍

            伪命令req大致有3个功能:生成证书请求文件、验证证书请求文件和创建根ca。由于openssl req命令选项较多,所以先各举几个例子,再集中给出openssl req的选项说明。 首先说明下生成证书请求需要什么:申请者需要…

    2025年3月31日
    100
  • 一个检测OpenSSL心脏出血漏洞的Python脚本分享

    什么是SSL? SSL是一种流行的加密技术,可以保护用户通过互联网传输的隐私信息。网站采用此加密技术后,第三方无法读取你与该网站之间的任何通讯信息。在后台,通过SSL加密的数据只有接收者才能解密。 SSL最早在1994年由网景推出,1990…

    编程技术 2025年2月27日
    300
  • 2014 phpstudy openssl 0.9.8/1.0.1怎么切换

    2014 phpstudy 自带openssl 0.9.8和1.0.1,问题是要配制支持https时,还得满足TLSv1.2,而要满足TLSv1.2就必须要支持openssl1.0.1及以上版本,现在不知道怎么切换,还请phpstudy大神…

    编程技术 2025年2月27日
    300
  • 如何升级Mac中自带的openssl ?(过程总结)

    如何升级mac中自带的openssl ?下面这篇文章就给大家介绍关于mac中自带的openssl升级过程,有需要的可以参考一下。 由于Mac自带的 openssl 太老了,所以,这里因为安装python扩展包需要升级到高版本,所以,总结下升…

    2025年2月27日
    400
  • CentOS 7下OpenBLAS安装及CentOS 7 OpenSSL安装

    php小编小新为大家介绍centos 7下openblas安装及centos 7 openssl安装的方法。在centos 7系统中,安装openblas和openssl是非常重要的步骤,因为它们为我们提供了强大的数学计算和安全加密功能。本…

    2025年2月26日
    400
  • php如何实现不对称加密

    在php中可以使用openssl来实现不对称加密,使用非对称加密主要是借助openssl的公钥和私钥,用公钥加密私钥解密,或者私钥加密公钥解密,简单来说非对称加密算法需要两个密钥来进行加密和解密。 推荐:《PHP视频教程》 php使用ope…

    2025年2月24日
    400
  • php怎样安装openssl扩展

    php安装openssl扩展的方法:1、执行【yum install openssl openssl-devel】命令安装openssl组件;2、编辑php.ini配置文件,添加扩展组件;3、重启php服务。 1、安装openssl组件 (…

    2025年2月24日
    300
  • php如何安装openssl扩展

    php安装openssl扩展的方法:首先在PHP安装包中找到curl扩展目录;然后将config0.m4文件重命名;接着运行phpize;最后编译安装,并设置PHP配置文件php.ini即可。 推荐:《PHP视频教程》  关于openssl…

    2025年2月24日
    300

发表回复

登录后才能评论