![](https://img-blog.csdnimg.cn/20200823182112384.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
OpenSSL
文章平均质量分 95
OpenSSL命令、加密库使用
百里杨
码农想飞~~
展开
-
OpenSSL加密算法库使用系列教程
OpenSSL算法库不会使用,条条框框各种限制太多,动不动就段错误??接下来出一个系列教程,争取涉及到常用算法的使用,想要原理、demo、用法、运行效果?都有!!!计划如下,OpenSSL加密库使用教程:1、《OpenSSL加密库之AES算法原理简述》2、《OpenSSL加密库之AES算法-ECB模式》3、《OpenSSL加密库之AES算法-CBC模式》4、《OpenSSL加密库之AES算法-CFB1模式》5、《OpenSSL加密库之AES算法...原创 2020-08-15 19:05:06 · 10245 阅读 · 2 评论 -
解决ssh: relocation error: ssh: symbol EVP_aes_128_str, version OPENSSL_1.0.1 not defined
在ubuntu上安装了google pinyin,然后重启了linux,发现ssh不能用了。。。在终端上输入:ssh -V报错:ssh: relocation error: ssh: symbol EVP_aes_128_str, version OPENSSL_1.0.1 not defined in file libcrypto.so.1.0.0 with link time reference原因应该是SSH版本与OpenSSL版本不匹配,可能和路径有关,致使SSH搜索到了其原创 2020-09-10 16:11:41 · 3803 阅读 · 0 评论 -
记录因升级OpenSSL导致SSH无法启动问题
因需要使用OpenSSL加密库进行开发,但是选择了高版本1.1.1,而linux环境中OpenSSL版本为1.0.2g,所以想着干脆升级下,所以下载OpenSSL 1.1.1源码进行编译,然后安装。照着网上的教程搞了下,很容易就实现了,终端中识别OpenSSL版本,如下:OpenSSL version -a参考的博客是《Ubuntu16.04安装/升级openssl到1.1版本》但是,过了几天发现SSH不能用了,查询ssh状态,也是启动失败。想起来动过OpenSSL,所以开始想办法恢复。百度了原创 2020-08-22 19:31:55 · 7792 阅读 · 4 评论 -
实战篇-OpenSSL之HASH算法-摘要计算
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之HASH算法-摘要计算一、HASH算法简介二、命令行操作1、查看OpenSSL支持使用哪些算法,来计算摘要信息2、计算hello.txt文件的md5摘要信息三、编程实现1、封装HASH类2、测试代码一、HASH算法简介Hash算法特别的地方在于它是一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息。因此Hash算法常用在不可还原的密码原创 2021-03-20 16:56:33 · 5288 阅读 · 0 评论 -
实战篇-OpenSSL之RSA算法-加密与数字签名
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之RSA算法-加密与数字签名一、RSA简介二、OFB64模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现OFB64模式加解密(3)测试代码一、RSA简介RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。原创 2021-03-20 11:32:05 · 13582 阅读 · 5 评论 -
实战篇-OpenSSL之TripleDES加密算法-OFB64模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-OFB64模式一、TripleDES简介二、OFB64模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现OFB64模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年原创 2021-01-10 18:05:48 · 638 阅读 · 0 评论 -
实战篇-OpenSSL之TripleDES加密算法-CFB64模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-CFB64模式一、TripleDES简介二、CFB64模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB64模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年原创 2021-01-10 17:57:15 · 1123 阅读 · 0 评论 -
实战篇-OpenSSL之TripleDES加密算法-CFB1模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-CFB1模式一、TripleDES简介二、CFB1模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB1模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被AN原创 2021-01-10 17:49:46 · 445 阅读 · 0 评论 -
实战篇-OpenSSL之TripleDES加密算法-ECB模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-ECB模式一、TripleDES简介二、ECB模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现ECB模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组原创 2021-01-10 17:29:03 · 1592 阅读 · 2 评论 -
实战篇-OpenSSL之TripleDES加密算法-CBC模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之TripleDES加密算法-CBC模式一、TripleDES简介二、CBC模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CBC模式加解密(3)测试代码一、TripleDES简介3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组原创 2021-01-10 17:09:07 · 2966 阅读 · 0 评论 -
实战篇-OpenSSL之调用EVP框架实现AES多种加密模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之调用EVP框架实现AES多种加密模式一、OpenSSL EVP简介二、EVP中对称加密与解密流程三、通过EVP实现AES多种加密模式四、测试代码一、OpenSSL EVP简介OpenSSL EVP(high-level cryptographic functions)提供了丰富的密码学中的各种函数。Openssl 中实现了各种对称算法、摘要算法以及签名/验签算法。EVP 函数将这些具体的算法进行了封装。通原创 2021-01-06 20:38:51 · 6625 阅读 · 1 评论 -
实战篇-OpenSSL之AES加密算法-OFB128模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-OFB128模式一、AES简介二、OFB128模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现OFB128模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五原创 2021-01-06 19:29:18 · 4012 阅读 · 0 评论 -
实战篇-OpenSSL之AES加密算法-CFB128模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-CFB128模式一、AES简介二、CFB128模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB128模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五原创 2021-01-06 19:11:39 · 6429 阅读 · 2 评论 -
实战篇-OpenSSL之AES加密算法-CFB8模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-CFB8模式一、AES简介二、CFB8模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB8模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程原创 2021-01-06 19:00:29 · 2237 阅读 · 0 评论 -
实战篇-OpenSSL之AES加密算法-CFB1模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-CFB1模式一、AES简介二、CFB1模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CFB1模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程原创 2021-01-06 17:59:10 · 1133 阅读 · 0 评论 -
实战篇-OpenSSL之AES加密算法-CBC模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-CBC模式一、AES简介二、CBC模式1、命令行操作2、函数说明3、编程实现(1)特别注意(2)实现CBC模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级原创 2021-01-06 16:56:04 · 16712 阅读 · 4 评论 -
实战篇-OpenSSL之AES加密算法-ECB模式
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。实战篇-OpenSSL之AES加密算法-ECB模式一、AES简介二、ECB模式1、命令行操作2、函数说明3、编程实现(1)PKCS7填充方式(2)实现ECB模式加解密(3)测试代码一、AES简介密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选原创 2021-01-06 16:34:51 · 14399 阅读 · 2 评论 -
环境篇-OpenSSL命令行工具使用
本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。环境篇-OpenSSL命令行工具使用一、对称加密命令二、非对称加密命令1、生成秘钥2、加密文件3、数字签名三、哈希命令我们知道常用的加密算法分为对称、非对称、摘要这三种。那么在OpenSSL中也有对应的命令。一、对称加密命令对称加密需要使用的标准命令为enc,可使用如下命令查看使用帮助:openssl enc -help常用选项有:-e:表示加密,可以指明一种加密算法,若不指的话将使用默认加密算法-d:表示解密,也原创 2020-12-31 18:05:14 · 2896 阅读 · 0 评论 -
环境篇-在Qt工程中调用OpenSSL
我们知道OpenSSL有一个命令行工具openssl.exe,可以通过命令实现很多的操作,同时OpenSSL还提供了动态库,所以如果我们想调用OpenSSL,有2种方法:通过启动一个外部进程openssl.exe的方式,传入执行命令,然后获取执行结果;通过动态库的方式,直接调用函数。以上2种方式,都有很多软件采用。我们这里仅讨论通过动态库调用OpenSSL,以下在Qt工程中调用OpenSSL加密库为例进行说明。一、在Win下调用OpenSSL加密库将pro工程所在目录下,创建OpenSSL-原创 2020-12-31 16:16:53 · 5360 阅读 · 0 评论 -
基础篇-常用对称、非对称、摘要加密算法介绍
常见的加密算法可以分成三类,对称加密算法、非对称加密算法、Hash算法。一、对称加密算法对称加密是使用同一个密钥对信息进行加解密。这就类似于,我们对一个压缩包进行加密时输入一个密码,那么我们在解密时输入同一个密码进行解密,一个道理。加密过程:明文+密钥a,进行加密,输出密文。解密过程:密文+密钥a,进行解密,输出明文。另外在多方通信中,密钥的管理也会非常的麻烦。在数据传送前,发送方和接收方必须商定好密钥,然后使双方都能保存好密钥。其次如果一方的密钥被泄露,那么加密信息也就不安全了。另外,每对用户原创 2020-09-20 19:11:01 · 5437 阅读 · 2 评论 -
环境篇-Linux下安装OpenSSL
linux下,一般系统都自带了OpenSSL,可以直接使用,包括:终端直接使用OpenSSL命令;直接调用OpenSSL库。故,一般不需要再安装。不再对OpenSSL安装过程进行讲解,若需采用源码安装,则可参考此文《Linux下OpenSSL的安装与使用》。下面,以Qt为例,简述,在Qt中如何调用OpenSSL。仅需在pro文件中,unix括号内添加如下2行:INCLUDEPATH += /usr/includeLIBS += -lcrypto添加后然后,在源文件中正常调用Ope原创 2020-08-23 18:11:27 · 1966 阅读 · 0 评论 -
环境篇-Windows下安装OpenSSL
OpenSSL 是一个开源项目,其组成主要包括三个组件:openssl:多用途的命令行工具libcrypto:加密算法库libssl:加密模块应用库,实现了ssl及tls我们主要介绍的是libcrypto加密算法库。一、安装Windows版OpenSSL1、下载下载地址:http://slproweb.com/products/Win32OpenSSL.html我们选择下载“Win64 OpenSSL v1.0.2u”。2、安装一般选择默认安装即可。但是有一点需要注意,就是如果电原创 2020-08-23 18:08:57 · 80588 阅读 · 18 评论