一.EVP接口

Openssl EVP(high-level cryptographic functions[1])提供了丰富的密码学中的各种函数。Openssl中实现了各种对称算法、摘要算法以及签名/验签算法。EVP函数将这些具体的算法进行了封装。

EVP主要封装了如下功能函数:

1)实现了base64编解码BIO;

2)实现了加解密BIO;

3)实现了摘要BIO;

4)实现了reliable BIO;

5)封装了摘要算法;

6)封装了对称加解密算法;

7)封装了非对称密钥的加密(公钥)、解密(私钥)、签名与验证以及辅助函数;

7)基于口令的加密(PBE);

8)对称密钥处理;

9)数字信封:数字信封用对方的公钥加密对称密钥,数据则用此对称密钥加密。发送给对方时,同时发送对称密钥密文和数据密文。接收方首先用自己的私钥解密密钥密文,得到对称密钥,然后用它解密数据。

10)其他辅助函数。

本次开发将基于该接口实现相关接口

二.对外接口

三.内部实现方案

四.重要的结构

定义一个EVP_CIPHER结构体

后续代码属于机密,不对外公开,有需要的可以+我VX

openssl下开发sm4-gcm-ciphers相关推荐

  1. php的yii2框架下开发环境xampp,vim,xdebug,DBGp的搭建

    2019独角兽企业重金招聘Python工程师标准>>> 引言 Yii1.1的搭建过程见这里.下面做少许改动,加入composer部分,使之用于Yii2. 选择Linux桌面环境Dee ...

  2. linux与windows下开发,Linux 与 Windows下开发感受

    Linux 和 Windows环境下开发各有优点.以下Linux 下使用感受是在Ubuntu11.04,别的发行版还没试过. 至于各自的缺点,都可以通过各种方法,得到或多或少地解决.至于要花费多大的精 ...

  3. Java在eclipse下开发的常用快捷键集锦

    2019独角兽企业重金招聘Python工程师标准>>> Java在eclipse下开发的常用快捷键集锦 ctrl+shift+o 说明:删除无用的代码引用 使用场景:当前文件中的引用 ...

  4. GTK在Windows下开发和运行的一些设置问题

    下面讲的Windows下开发,是以Visual Studio 2012为例,其他版本的Visual Studio应该与之类似. 下面的方法对于gtk2和gtk3都一样.现在好像gtk不能下载all i ...

  5. Android Linux下开发环境搭建

    开发环境--这个没有要求你一定得在什么系统下开发,你对哪个环境熟悉就用哪个. 如果习惯Windows的话,那在Windows下开发:如果对Linux比较熟,那你就用Linux. 不过,话说回来,Lin ...

  6. weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar...

    2019独角兽企业重金招聘Python工程师标准>>> weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件.不用jar      ...

  7. .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤

    .NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含 ...

  8. Windows 下开发PHP扩展资源

    1.Windows 下开发PHP扩展 http://www.shinrun.com/htmls/100101-37.html 2.windows下开发PHP扩展dll(无需Cygwin) http:/ ...

  9. 在VSCode Remote环境下开发Teams Bot

    我使用VS Code开发已经有蛮长一段时间了,时间长了,越来越喜欢VS Code,虽然有些时候会没有传统的VS方便,比如开发Azure Function时你需要编写一下launch.json,而且你需 ...

最新文章

  1. 从未在一起更让人遗憾_我们从未在一起和我们最终没在一起,哪一个更让人难过?...
  2. CoolPad backdoor CoolReaper
  3. 文巾解题 198. 打家劫舍
  4. 广联达2018模板算量步骤_工程人必须掌握:这9份软件算量教程+24份算量计算表,无偿分享...
  5. 原相机水印怎么改字_抖音/自媒体做影视二次剪辑,如何下载高清无水印视频?...
  6. 排错之网络映射缓存凭证记录导致备份计划任务失败
  7. oracle脂肪分析仪,CEM推出油脂快速分析新技术
  8. 函的红头文件格式制作_Excel实现批量制作年会邀请函,这个方法,你一定不能错过...
  9. Fill-倒水问题(Uva-10603-隐式图路径寻找问题)
  10. WebService可以远程调试调用
  11. 【codevs1220】数字三角形
  12. javascript之生成一个指定范围内的随机数
  13. 玻璃质感_现代质感的顶层公寓,玻璃扶手让楼梯整个变透明!
  14. Python 数独求解
  15. python——函数(定义函数、传递实参、返回值、传递列表、传递任意数量的实参、将函数存储在模块中、函数编写指南)
  16. c语言程序中u8是什么意思,c – __u8和uint8_t之间的区别
  17. Word2019建立自己的模板
  18. 将png转为webp_如何将Google的WEBP图像另存为JPEG或PNG
  19. 【Unity】新手初学Animation实现人物移动
  20. Neuron segmentation using 3D wavelet integratedencoder–decoder network

热门文章

  1. C语言文件读写(3)-二进制文件读写操作
  2. h5实现网页内容跟随窗口大小移动_HTML5使用四种方法实现移动页面自适应手机屏幕的方法总结...
  3. Java中的nextInt()和next()与nextLine()区别详解
  4. 【Idea无法打开】Idea.bat可以正常打开,双击快捷方式无法打开解决办法
  5. of python检索文献 science web_硕博士都在学的Python神技,有大神带!
  6. charset参数 sqluldr2_sqluldr2 学习心得
  7. 用于python环境下的数据操作_数据分析(一):环境搭建,以及初步操作文件
  8. python连通域标记_pythonamp;#8212;二值图像连通域标记 - 易采站长站
  9. oracle启动报参数不正确,【oracle】模拟故障 - 参数修改导致无法启动oracle
  10. java 面试题 简书_java面试题