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

网站建设与管理广东药学院wordpress 新闻页面

网站建设与管理广东药学院,wordpress 新闻页面,深圳品牌展会,网络推广培训职业学校AES加密是美国联邦政府采用的一种块加密标准#xff0c;如今已经被全世界广为使用。嵌入式开发中我们也经常会用到加密解密算法#xff0c;如果没有硬件模块来实现#xff0c;就需要用到C代码软件实现。下面介绍调用mbedTLS中的AES加密解密函数实现AES算法。 mbedTLS是一个…AES加密是美国联邦政府采用的一种块加密标准如今已经被全世界广为使用。嵌入式开发中我们也经常会用到加密解密算法如果没有硬件模块来实现就需要用到C代码软件实现。下面介绍调用mbedTLS中的AES加密解密函数实现AES算法。 mbedTLS是一个开源TLS协议栈主要用于嵌入式开发其源代码网址为https://tls.mbed.org/aes-source-code。在该页面上点击downloadmbedTLS即可下载最新的协议栈解压该压缩包就可以得到协议栈源代码。协议栈中的各种算法都独立封装在C文件中彼此耦合度较低目的是便于调用。我这里下的是2.2.1版本解压后可以看到mbedtls-2.2.1\include\mbedtls路径下有许多header文件将其添加到IDE的头文件中。在mbedtls-2.2.1\library下有许多c文件我们只添加需要用到的aes.c。 这里使用Visual Studio2013 C/C环境进行编译演示。新建控制台应用空工程。在Header Files文件夹下添加头文件注意连文件夹一起添加因为C文件中的include是包含路径的。然后把aes.c添加到source文件夹里。此时直接编译就能通过啦 接下来就是在主函数里调用函数。这里调用了ECB模式和CBC模式两种。源代码如下 #includestdio.h #include mbedtls/aes.h #include mbedtls/compat-1.3.h#define AES_ECB 0 #define AES_CBC 1 #define AES_CFB 2 #define AES_CTR 3 #define MODE AES_ECBunsigned char key[16] { 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 }; unsigned char plain[32] { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 }; unsigned char plain_decrypt[32] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char IV[16]; unsigned char cypher[32]; int i 0; mbedtls_aes_context aes;void SetIV() {int i;for (i 0; i 16; i){ IV[i] 0x55;}} int main() {if (MODE AES_ECB){mbedtls_aes_setkey_enc(aes, key, 128);//  set encrypt key            mbedtls_aes_crypt_ecb(aes, AES_ENCRYPT, plain, cypher);mbedtls_aes_setkey_dec(aes, key, 128);//  set decrypt keymbedtls_aes_crypt_ecb(aes, AES_DECRYPT, cypher, plain_decrypt);i;            }if (MODE AES_CBC){mbedtls_aes_setkey_enc(aes, key, 128);//  set encrypt keySetIV();mbedtls_aes_crypt_cbc(aes, AES_ENCRYPT, 32, IV, plain, cypher);mbedtls_aes_setkey_dec(aes, key, 128);//  set decrypt keySetIV();mbedtls_aes_crypt_cbc(aes, AES_DECRYPT, 32, IV, cypher, plain_decrypt);i;            } } 单步运行在 debug 窗口中可以观察到 cypher 数组的值改变变为加密后的值以及 plain _decrypt 数组中的值变为解密后的值也就是和 plain 数组中一样。J~ 任何程序错误以及技术疑问或需要解答的请添加
http://www.zqtcl.cn/news/391623/

相关文章:

  • 成都哪家网站建设做得好介绍自己的家乡遵义网站建设
  • 阳春新农村建设网站欣赏网站
  • 永久免费企业网站建设杭州个人做网站
  • 博罗中山网站建设做网站的软件 知乎
  • 广州网站开发广州亦客网络解答wordpress换空间要改
  • 丽水企业网站开发企业erp系统是什么软件
  • 好看的网站设计个人发布信息的免费平台
  • 电商网站业务流程linux上传中文wordpress
  • 广州网站定制商家外贸seo网站推广
  • 许昌大成建设集团网站wordpress自动博客插件
  • wordpress网站地图插件中国来料加工网
  • 黑龙江做网站的公司上海企业网站建设公
  • 做公众号时图片的网站安徽建设工程造价信息网站
  • 网站开发的在淘宝上是什么类目深圳做网站的大公司
  • 手机网站 html5信阳哪里做网站
  • 网站服务器多少钱一月wordpress 博客宠物
  • 怎么制作网站游戏辽宁建设工程网
  • 网站开发好还要空间吗网站支付链接怎么做的
  • 网站制作报价图片欣赏杭州做网站价格
  • 帮人家做家务的网站host绑定网站
  • 地方门户网站盈利模式这样做微信网站
  • 企业网站要怎么做wordpress w3
  • 网站备案帐号找回密码seo优化工作有哪些
  • 美橙网站建设教程网站建站系统
  • 湖北网站建设公司哪家好重庆建站模板平台
  • 青岛企业建站最新上线的手游
  • 织梦网站wap精品下载
  • 专业做包装的电商网站搜索推广图片
  • 淘客网站佣金建设怎么制作网站页面
  • 网站数据库 mysql如何构建wordpress