当前位置: 首页 > wzjs >正文

wordpress站点推荐北京网络推广公司

wordpress站点推荐,北京网络推广公司,库存进销存管理软件,网站运营建设岗位职责openssl实现分组加密模式(例如AES128-CBC的CBC部分)的模块名字叫做modes,源代码位于 https://gitee.com/gh_mirrors/openssl/tree/master/crypto/modes 博主又打不开github了TT,只能找个gitee镜像 头文件是modes.h。 该模块目前…

openssl实现分组加密模式(例如AES128-CBC的CBC部分)的模块名字叫做modes,源代码位于

https://gitee.com/gh_mirrors/openssl/tree/master/crypto/modes
博主又打不开github了TT,只能找个gitee镜像

头文件是modes.h。

该模块目前支持12种加密模式,如图,每一个文件就是一个模式。

加密模式与加密算法并不绑定,你可以使用自定义的加密函数,只要分组长度是128bit即可。理论上可以使用非对称的加密函数,但必须是128bit等长分组,这种情况并不常见。

以CRYPTO_cbc128_encrypt为例,该函数的最后一个参数是一个函数指针,用于对一个分组进行加密,需要调用者提供。

void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out,size_t len, const void *key,unsigned char ivec[16], block128_f block)
{size_t n;const unsigned char *iv = ivec;if (len == 0)return;#if !defined(OPENSSL_SMALL_FOOTPRINT)if (STRICT_ALIGNMENT &&((size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0) {while (len >= 16) {for (n = 0; n < 16; ++n)out[n] = in[n] ^ iv[n];(*block) (out, out, key);iv = out;len -= 16;in += 16;out += 16;}} else {while (len >= 16) {for (n = 0; n < 16; n += sizeof(size_t))*(size_t_aX *)(out + n) =*(size_t_aX *)(in + n) ^ *(size_t_aX *)(iv + n);(*block) (out, out, key);iv = out;len -= 16;in += 16;out += 16;}}
#endifwhile (len) {for (n = 0; n < 16 && n < len; ++n)out[n] = in[n] ^ iv[n];for (; n < 16; ++n)out[n] = iv[n];(*block) (out, out, key);iv = out;if (len <= 16)break;len -= 16;in += 16;out += 16;}if (ivec != iv)memcpy(ivec, iv, 16);
}

注意事项:

1、block参数必须支持前2个参数使用相同的指针,即输入输出使用同一块缓存。

2、key参数没有长度限制,实际长度取决于block。因此受限制的是分组长度而非密钥长度,密钥长度可以不等于分组长度,AES256就是这种情况。

对于GCM这种较为复杂的模式,需要输入上下文对象指针。

http://www.dtcms.com/wzjs/106210.html

相关文章:

  • remix做歌网站google推广技巧
  • 天津网站制作公司哪家好百度指数网址是什么
  • 福田专门做网站推广公司百度广告联盟网站
  • 购物帮–做特惠的导购网站软件外包公司排名
  • 网站在百度上搜不到长沙网站优化推广
  • 男做基视频网站杭州seo博客有哪些
  • 无锡住房建设网站外贸网络推广怎么做
  • 南昌公司做网站商品促销活动策划方案
  • wordpress安装音乐插件株洲seo优化哪家好
  • 空气净化器用什么网站做外贸徐州网站优化
  • 网站开发技术汇总西安网站关键词优化推荐
  • 网站系统维护一般要多久浏览器地址栏怎么打开
  • 西安做网站的公司seo人工智能
  • 福州网络推广平台九幺seo优化神器
  • 医院网站建设官网短视频推广渠道有哪些
  • 免费申请注册网站网络推广理实一体化软件
  • 怎么设置网站支付功能网站seo优化怎么做
  • 网站开发技术指标是什么营销手段和营销方式
  • 网站设计毕业论文的模板咋写如何进行推广
  • 网站制作制作网站建网站链接式友谊
  • 昆明做网站猫咪科技seo快速排名软件案例
  • 常州网站优化百度推广后台登陆首页
  • 邹平网站建设优化公司爱链工具
  • 大连网站建设培训班深圳推广公司哪家正规
  • 查内部券的网站是怎么做的代运营公司可靠吗
  • 做网站怎么弄如何推销产品给客户
  • 张家港本地论坛seo优化效果怎么样
  • 游戏类网页设计seo外包网站
  • 做直播导航网站搜索引擎优化策略包括
  • 免费html网站模板深圳搜索竞价账户托管