qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

C语言实现EAPOL-KEY计算MIC

时间2023-03-22 10:57:55 提问来自 江苏省苏州市 的网友 分类创作 浏览640
EAPOL-KEY MIC计算的C语言实现如下: ```c // EAPOL-KEY MIC 计算函数 // 参数: key: 用于计算mic的密钥,key_len: 密钥长度,data: 数据报文,data_len: 报文长度 // 返回值:mic值 unsigned char *calculate_eapol_key_mic(unsigned char *key, int key_len, unsigned char *data, int data_len) { // 初始化变量 unsigned char *mic = (unsigned char*)malloc(16); // mic值存储位置 // HMAC-SHA1加密处理过程 // 1. 初始化HMAC上下文变量ctx HMAC_CTX ctx; // HMAC上下文变量定义 HMAC_CTX_init(&ctx); // 初始化HMAC上下文变量 // 2. 调用HMAC函数初始化key if (HMAC_Init(&ctx, key, key_len, EVP_sha1()) != 1) { // HMAC初始化失败时返回0 printf("Error in calculating MIC! "); return 0; } // 3. 更新加密内容 if (HMAC_Update(&ctx, data, dataLen) != 1) { // 更新加密内容失败时返回0 printf("Error in calculating MIC! "); return 0; } /* 4. 获得最终MIC值 */ if (HMACFinal(&ctx, mic , NULL) != 1) { /* 获得最终MIC值失败时返回0 */ printf("Error in calculating MIC! "); return 0; } /* 5. 销毁上下文变量 */ HMACFinal(&ctx); return mic; } ```

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 js实现比较两个版本号 下一篇 建设教育强国的青年力 量