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

密云区免费网站建设wordpress 评论时间

密云区免费网站建设,wordpress 评论时间,丹东网站制作,百度熊掌号 wordpressAES算法是一种对称加密算法#xff0c;全称为高级加密标准#xff08;Advanced Encryption Standard#xff09;。它是一种分组密码#xff0c;以128比特为一个分组进行加密#xff0c;其密钥长度可以是128比特、192比特或256比特#xff0c;因此可以提供不同等级的安全性…AES算法是一种对称加密算法全称为高级加密标准Advanced Encryption Standard。它是一种分组密码以128比特为一个分组进行加密其密钥长度可以是128比特、192比特或256比特因此可以提供不同等级的安全性。该算法采用了替代、置换和混淆等技术以及多轮加密和密钥扩展等机制使得其加密效果优秀安全性高被广泛应用于各种领域中如数据加密、文件加密、网络安全等。 AES算法加密和解密使用的密钥是相同的该算法加密和解密速度较快适用于对大量数据进行加密解密的场景。在实际应用中通常采用混合加密方式即使用RSA算法加密对称加密算法中的密钥再使用对称加密算法加密数据以保证数据的机密性和加密解密的效率。 AES算法常用两种加密模式即CBC和ECB模式它们分别具有不同的优缺点。 ECBElectronic Codebook电子密码本模式是最简单的分组密码工作模式将每个明文块独立加密同样的密钥加密同样的明文块得到的密文也是一样的因此容易被攻击者利用重复的密文进行分析破解。ECB模式加密效率高适用于短报文加密但不适用于长报文加密。 CBCCipher Block Chaining密码块链模式是一种分组密码工作模式先将明文分组然后对每个分组进行加密加密时使用上一块密文作为输入因此相同的明文块在不同位置上得到的密文是不同的可以防止被攻击者利用重复的密文进行分析破解。CBC模式加密效率较低但适用于长报文加密因为不同的明文块之间互相影响增加了安全性。 在实际应用中通常采用CBC模式进行加密因为它比ECB模式更安全但加密效率较低。此外还有其他的加密模式如CFB、OFB、CTR等不同的加密模式适用于不同的场景需要根据实际需求进行选择。 OpenSSL库提供了对AES加密的支持但在使用时读者还是需要自行封装一些通用加解密函数如下代码片段是笔者常用的一些函数总结其中aes_cbc_encrypt函数用于使用CBC模式对特定字符串加密aes_cbc_decrypt则使用CBC模式对字符串进行解密第二个函数AES函数则是使用OpenSSL库默认的加解密函数二次封装实现的。 #include iostream #include openssl/err.h #include openssl/aes.h #include openssl/evp.h #include openssl/crypto.h #include openssl/pem.hextern C { #include openssl/applink.c }#pragma comment(lib,libssl_static.lib) #pragma comment(lib,libcrypto.lib)// CBC模式加密 int aes_cbc_encrypt(char* in, char* key, char* out) {if (!in || !key || !out)return 0;unsigned char iv[AES_BLOCK_SIZE];for (int i 0; i AES_BLOCK_SIZE; i)iv[i] 0;AES_KEY aes;if (AES_set_encrypt_key((unsigned char*)key, 128, aes) 0){return 0;}int len strlen(in);AES_cbc_encrypt((unsigned char*)in, (unsigned char*)out, len, aes, iv, AES_ENCRYPT);return 1; }// CBC模式解密 int aes_cbc_decrypt(char* in, char* key, char* out) {if (!in || !key || !out)return 0;// 加密的初始化向量unsigned char iv[AES_BLOCK_SIZE];// iv一般设置为全0for (int i 0; i AES_BLOCK_SIZE; i)iv[i] 0;AES_KEY aes;if (AES_set_decrypt_key((unsigned char*)key, 128, aes) 0){return 0;}int len strlen(in);AES_cbc_encrypt((unsigned char*)in, (unsigned char*)out, len, aes, iv, AES_DECRYPT);return 1; }// 将加密与解密整合在一起 void AES(unsigned char* InBuff, unsigned char* OutBuff, unsigned char* key, char* Type) {if (strcmp(Type, encode) 0){AES_KEY AESEncryptKey;AES_set_encrypt_key(key, 256, AESEncryptKey);AES_encrypt(InBuff, OutBuff, AESEncryptKey);}else if (strcmp(Type, decode) 0){AES_KEY AESDecryptKey;AES_set_decrypt_key(key, 256, AESDecryptKey);AES_decrypt(InBuff, OutBuff, AESDecryptKey);} }有了上述算法封装接下来笔者将依次演示这几种不同的加密函数是如何被应用的首先简单介绍一下aes_cbc_encrypt与aes_cbc_decrypt这两个函数都是自己封装的AES加解密算法这两个算法参数传递保持一致第一个参数都是指定需要加密的缓冲区第二个参数则是指定加密所使用的key第三个参数是处理后的结果。 int main(int argc, char* argv[]) {char szBuffer[1024] hello lyshark;char szDst[1024] { 0 };char szSrc[1024] { 0 };// 计算一串密钥char key[AES_BLOCK_SIZE] { 0 };for (int x 0; x AES_BLOCK_SIZE; x){key[x] 32 x;}// AES加密if (aes_cbc_encrypt(szBuffer, key, szDst) ! 0){std::cout 加密后长度: strlen(szDst) std::endl;}// AES解密if (aes_cbc_decrypt(szDst, key, szSrc) ! 0){std::cout 解密内容: szSrc std::endl;}system(pause);return 0; }上述代码片段则是通过AES实现对数据加解密处理的功能如下是这段代码的输出效果 第二种调用方式是采用API实现其中的AES函数通过AES_set_encrypt_key设置加密密钥并直接调用AES_encrypt实现数据加密反之通过AES_set_decrypt_key设置解密密钥并调用AES_decrypt解密这段代码调用方式如下所示 int main(int argc, char* argv[]) {unsigned char Buffer[1024] hello lyshark;unsigned char EncodeBuf[1024] { 0 };unsigned char DecodeBuf[1024] { 0 };unsigned char aes_key[32] { 0 };// 随机生成密钥for (int x 0; x 32; x){int ch rand() % 5;aes_key[x] (char)ch;}AES(Buffer, EncodeBuf, (unsigned char *)aes_key, (char*)encode);std::cout 加密数据长度: strlen((char *)EncodeBuf) std::endl;AES(EncodeBuf, DecodeBuf, (unsigned char*)aes_key, (char*)decode);std::cout 解密数据: DecodeBuf std::endl;system(pause);return 0; }如上代码通过调用AES函数时传入encode实现数据加密传入decode实现数据解密如下图所示
http://www.hkea.cn/news/14380635/

相关文章:

  • 如何提高用户和网站的互动性软件开发者怎么赚钱
  • 公司网站上线流程wordpress apache nginx
  • 易语言怎么制作网站建立一个网站需要人员
  • 上海做网站的的公司莱芜金点子租房信息港
  • 怎样提升网站流量wordpress小工具制作
  • 简洁网站模板下载黄骅住房和城乡建设局网站
  • 工信部网站域名查询wordpress 阿里短信
  • 成都网站建设公司哪家专业公司网站域名申请流程
  • 国家和住房城乡建设部网站首页网站开发培训课程表
  • 企业网站建设方案怎么写网站建设的必要
  • 家具网站建设策划方案谁有凡科网做的网站
  • 公司网站形象中文网站模板大全
  • 医社保增减员在什么网站做网站开发开票编码归属
  • 济南网站建设和网络推广哪个好宁波seo快速优化课程
  • 网站怎么做多级菜单溧阳网站建设中心
  • 云尚网络科技有限公司网站建设苏州个人网站制作公司
  • 网站备案域名更改吗阿里免费域名申请
  • 女人与狗做网站罗湖中心区做网站
  • 网站建设工作室 需要营业执照吗视频制作公司简介
  • 网站内做关键词连接怎么做自己微信的网站
  • 郑州网站网站建设wordpress虚拟阅读
  • 东莞网站建设行业翘楚wordpress链接设置方法
  • 企业网站建设方案互联网软件有哪些
  • 免费网站开发公司ppt模板免费下载网站不需要登录
  • wordpress随机评论插件外贸seo站
  • 黄埔做网站特斯拉ceo进厂拧螺丝
  • 哈尔滨网页设计培训谷歌seo和百度seo区别
  • 贵州省建设厅考证官方网站无线网的网址是多少
  • 开通域名后怎样建设网站sem即
  • 企业网站推广的线上渠道网页设计类型与风格