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

php 网站 模板为企业制定网络营销方案

php 网站 模板,为企业制定网络营销方案,wordpress 中文 相册插件下载,古典网站源码加解密 | AES加、解密学习 你的代码实现了一个简单的AES#xff08;高级加密标准#xff09;加密和解密的测试程序。以下是对代码的分析和一些改进建议#xff1a; 代码功能 初始化数据和密钥#xff1a; 定义了一个16字节的输入数据 input_data。定义了一个16字节的AES…加解密 | AES加、解密学习 你的代码实现了一个简单的AES高级加密标准加密和解密的测试程序。以下是对代码的分析和一些改进建议 代码功能 初始化数据和密钥 定义了一个16字节的输入数据 input_data。定义了一个16字节的AES密钥 key。初始化了加密数据和解密数据的缓冲区。 密钥扩展 使用 aes_expand_key 函数将原始密钥扩展为扩展密钥。 加密和解密 使用 aes_encrypt 函数对输入数据进行加密。使用 aes_decrypt 函数对加密后的数据进行解密。 打印信息 打印了加密前后的数据、密钥等信息。 代码中的问题和改进建议 使用字符串作为密钥 在C语言中字符串以空字符 \0 结尾。因此1234567890abcdef 实际上是一个17字节的字符串包括空字符。这可能导致密钥长度不正确。改进建议使用字节数组定义密钥确保密钥长度为16字节。 加密和解密函数的参数类型 aes_encrypt 和 aes_decrypt 函数的参数类型需要明确。确保它们接受的是字节数组并且长度正确。如果这些函数的实现需要16字节对齐的输入需要确保输入数据的长度为16的倍数。 解密硬编码的十六进制字符串 在代码中你尝试直接将十六进制字符串 8df9deff39e5877acf18f8056538864c 传递给 aes_decrypt 函数。这在C语言中是不正确的因为字符串是字符数组而不是字节数组。改进建议将十六进制字符串转换为字节数组后再进行解密。 打印加密后的数据 加密后的数据是二进制数据可能包含不可打印字符。因此使用十六进制格式打印是正确的但需要确保解密后的数据也是正确处理的。 改进后的代码 以下是改进后的代码示例 c复制 #include stdio.h #include string.h #include stdint.h#define AES_KEY_LENGTH 16 #define AES_EXPAND_KEY_LENGTH 176 // AES-128 扩展密钥长度typedef uint8_t u8;// 假设的 AES 加密和解密函数 void aes_expand_key(const u8* key, u8* expanded_key); void aes_encrypt(const u8* input, const u8* expanded_key, u8* output); void aes_decrypt(const u8* input, const u8* expanded_key, u8* output);int tester_aes() {// 输入数据必须是 16 字节的倍数u8 input_data[16] Hello, AES!;u8 encrypted_data[16];u8 decrypted_data[16];// AES 密钥 (128 位)u8 key[AES_KEY_LENGTH] {0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef, 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10};u8 expanded_key[AES_EXPAND_KEY_LENGTH];int i 0;aes_expand_key(key, expanded_key);memset(encrypted_data, 0, sizeof(encrypted_data));memset(decrypted_data, 0, sizeof(decrypted_data));printf(sizeof(unsigned char): %ld\n, sizeof(unsigned char));printf(sizeof(unsigned int) : %ld\n, sizeof(unsigned int));printf(密钥);for (i 0; i AES_KEY_LENGTH; i) {printf(%02x, key[i]);}printf(\n);printf(原始数据: );for (i 0; i 16; i) {printf(%02x, input_data[i]);}printf(\n);// 加密aes_encrypt(input_data, expanded_key, encrypted_data);printf(加密后的数据: );for (i 0; i 16; i) {printf(%02x, encrypted_data[i]);}printf(\n);// 解密aes_decrypt(encrypted_data, expanded_key, decrypted_data);printf(解密后的数据: );for (i 0; i 16; i) {printf(%02x, decrypted_data[i]);}printf(\n);// 解密硬编码的十六进制字符串u8 hex_data[16] {0x8d, 0xf9, 0xde, 0xff, 0x39, 0xe5, 0x87, 0x7a, 0xcf, 0x18, 0xf8, 0x05, 0x65, 0x38, 0x86, 0x4c};aes_decrypt(hex_data, expanded_key, decrypted_data);printf(解密后的数据1: );for (i 0; i 16; i) {printf(%02x, decrypted_data[i]);}printf(\n);return 0; }改进点说明 密钥定义 使用字节数组定义密钥确保密钥长度为16字节。 十六进制字符串转换 将硬编码的十六进制字符串转换为字节数组避免直接传递字符串。 打印数据 使用十六进制格式打印所有数据确保输出一致且易于理解。 注意事项 确保 aes_expand_key、aes_encrypt 和 aes_decrypt 函数的实现是正确的并且它们的参数类型和长度符合要求。如果需要处理更长的输入数据需要分块处理因为AES加密要求输入数据长度为16字节的倍数。在实际应用中密钥和数据应通过安全的方式传递和存储避免硬编码在代码中。
http://www.hkea.cn/news/14404970/

相关文章:

  • 企业形象网站建设WordPress中文相册
  • 网站上传大马后怎么做php网站怎么做post订单
  • 怎样做机械租赁的网站网站建设的关键细节
  • 网站建设中 html南宁网站优化推广
  • 企业网站建设模板百度识图查另一半情头
  • 网站搭建学什么专业电商网站平台有哪些功能模块
  • 网站有哪些功能网站开发前端简历
  • asp自动获取网站快照 网站缩略图零基础网页制作培训
  • 北京做网站好的jsp网站建设项目实战总结
  • win10做网站运动网站源码
  • 邢台网站关键词优化北京网页设计师工资有多少
  • 网站做cdn需要注意什么免费的行情软件app网站
  • seo的培训网站哪里好爱做奈官方网站
  • 自己做网站有什么用上海抖音推广公司
  • 做网站郴州免费网站空间 asp.net
  • 怎样在手机上做自己的网站怎样做网络推广给我 你所有地方都上手
  • 丁香园做科室网站国外展柜网站
  • 网站工信部超链接怎么做中文域名注册网站
  • 网站建设推广唯心磁遁8wordpress 修改页面内容
  • 有趣的网站之家做一个公司的网站应做哪些准备工作内容
  • 平台网站建设多少钱中国建设工程招聘信息网站
  • ip做网站地址wordpress制作婚礼网页
  • 什么静态网站容易做外贸网站如何做推广是什么意思
  • 昭通网站seo优化网站技术有哪些
  • 弄个做网站公司微信号注册官网网页版
  • wordpress母公司seo学校培训班
  • 设计网站官网wordpress快速安装
  • 国外设计最漂亮的网站wordpress安装是什么
  • 乐从容桂网站建设网站建设公司 选中企动力公司
  • 天长街道两学一做网站网站建设与管理升学就业方向