openssl之EVP系列之1---算法封装
    ---根据openssl doc/crypto/EVP.pod翻译和自己的理解写成
    (作者:DragonKing, Mail: wzhah@263.net ,发布于: http://openssl.126.com  之openssl专业论坛,版本:openssl-0.9.7)
    
    EVP系列的函数定义包含在"evp.h"里面,这是一系列封装了openssl加密库里面所有算法的函数。通过这样的统一的封装,使得只需要在初始化参数的时候做很少的改变,就可以使用相同的代码但采用不同的加密算法进行数据的加密和解密。
    EVP系列函数主要封装了三大类型的算法,要支持全部这些算法,请调用OpenSSL_add_all_algorithms函数,下面分别就其结构作一个简单的介绍。
    【公开密钥算法】
    函数名称:EVP_Seal*...*,EVP_Open*...*
    功能描述:该系列函数封装提供了公开密钥算法的加密和解密功能,实现了电子信封的功能。
    相关文件:p_seal.c,p_open.c
    【数字签名算法】
    函数名称:EVP_Sign*...*,EVP_Verify*...*
    功能描述:该系列函数封装提供了数字签名算法和功能。
    相关文件:p_sign.c,p_verify.c
    【对称加密算法】
    函数名称:EVP_Encrypt*...*
    功能描述:该系列函数封装提供了对称加密算法的功能。
    相关文件:evp_enc.c,p_enc.c,p_dec.c,e_*.c
    【信息摘要算法】
    函数名称:EVP_Digest*...*
    功能描述:该系列函数封装实现了多种信息摘要算法。
    相关文件:digest.c,m_*.c
    【信息编码算法】
    函数名称:EVP_Encode*...*
    功能描述:该系列函数封装实现了ASCII码与二进制码之间的转换函数和功能。
    相关文件:encode.c
    
    注意:
    自从出现engin版本以后,所有对称加密算法和摘要算法可以用ENGINE模块实现的算法代替。如果ENGINE模块实现的对称加密和信息摘要函数被注册为缺省的实现算法,那么当使用各种EVP函数时,软件编译的时候会自动将该实现模块连接进去。

openssl之EVP系列之1---算法封装相关推荐

  1. openssl之EVP系列之2---对称加密算法概述

    openssl之EVP系列之2---对称加密算法概述     ---依据openssl doc/crypto/EVP_EncryptInit.pod和doc/ssleay.txt cipher.doc ...

  2. openssl之EVP系列之12---EVP_Seal系列函数介绍

    openssl之EVP系列之12---EVP_Seal系列函数介绍     ---根据openssl doc/crypto/EVP_SealInit.pod翻译和自己的理解写成     (作者:Dra ...

  3. openssl之EVP系列之5---EVP_Encrypt系列函数具体解释(二)

    openssl之EVP系列之5---EVP_Encrypt系列函数详细解释(二)     ---依据openssl doc/crypto/EVP_EncryptInit.pod和doc/ssleay. ...

  4. openssl之EVP系列之11---EVP_Verify系列函数介绍

    openssl之EVP系列之11---EVP_Verify系列函数介绍     ---根据openssl doc/crypto/EVP_VerifyInit.pod翻译和自己的理解写成     (作者 ...

  5. openssl之EVP系列之4---EVP_Encrypt系列函数详解(一)

    EVP_Cipher系列包含了很多函数,我将他们大概分成两部分来介绍,一部分是基本函数系列,就是本文要介绍的,另一个部分是设置函数系列,将在后面的文章进行介绍.基本系列函数主要是进行基本的加密和解密操 ...

  6. 使用openssl的EVP接口使用sm2算法加解密等操作

    OpenSSL 1.1.1版本提供了对国密SM2算法的支持.但是不知为什么这么设计,将sm2.h sm3.h sm4.h这些头文件放在源码的cryto/include/internall目录下,这样导 ...

  7. OpenSSL之EVP(二)——EVP系列函数介绍

    EVP系列函数 摘要函数 典型的摘要函数主要有: 1) EVP_md5 返回 md5 的 EVP_MD. 2) EVP_sha1 返回 sha1 的 EVP_MD. 3) EVP_sha256 返回 ...

  8. openssl之EVP

    本文参考百度百科和http://blog.csdn.net/gdwzh/article/details/19231 一,什么是openssl? SSL 是一个缩写,代表的是 Secure Socket ...

  9. OpenSSL之EVP(一)——数据结构及源码结构介绍

    EVP简介 Openssl EVP提供了丰富的密码学中的各种函数. Openssl 中实现了各种对称算法.摘要算法以及签名/验签算法. EVP 函数将这些具体的算法进行了封装. EVP 主要封装了如下 ...

最新文章

  1. 如何查看Linux系统下程序运行时使用的库?
  2. MPTCP 源码分析(五) 接收端窗口值
  3. 2021年春季学期-信号与系统-第七次作业参考答案-第一小题
  4. 一张图解释什么是遗传算法_一张图告诉你什么叫真正的满配m416,吃鸡玩家看懵了...
  5. 使用GAN 进行异常检测——anoGAN,TODO,待用于安全分析实验
  6. 天天象棋 残局闯关 第17关
  7. Power of Three
  8. 用简单直白的方式讲解A星寻路算法原理
  9. 活动目录权限委派|父域子域管理
  10. 打开计算机没显示硬盘分区,电脑新插了一个硬盘没显示怎么办
  11. PLC对接MES、PLC数据上报、PLC之间通讯
  12. Jsoup爬虫并解析网页
  13. 材料模拟python_关于材料计算,模拟,仿真什么区别?
  14. 分布式文件存储-FastDFS原理简介
  15. 微信公众号文章编辑排版工具+自动采集+使用视频教程
  16. 【vue】生成条形码
  17. 科技公司官网小程序-总体介绍
  18. 串口异步通信——时序宽度测试
  19. easyui数据表格批量删除(datagrid 的deleteRow方法)
  20. linux 下 调笔记本亮度,Linux下如何保存笔记本屏幕亮度设置(背光亮度)

热门文章

  1. 基于ServletJsp的网上书店设计(三)
  2. JAVAWEB项目--模拟考试系统需求(一)
  3. Java里的字符串, String类简单介绍.
  4. Oracle 事务概述
  5. jsp uri=http://java.sun.com/jsp/jstl/core报错解决
  6. 怎么卸载旧版本java_卸载旧的java-jdk安装新版本jdk
  7. 盘点|2021最受开发者欢迎和最具行业影响力的文章
  8. 一图看懂云栖大会「云原生」重磅发布
  9. 收藏!这些 IDE 使用技巧,你都知道吗
  10. 特别篇 :从 0 开始创作云原生应用 (殷达)