HcfAlgValue type = impl->attr.algo; if (type == HCF_ALG_AES) { if (strcpy_s(algoName, MAX_KEY_STR_SIZE, AES_ALG_NAME) != EOK) { LOGE("aes algoName strcpy_s failed!"); goto clearup; } if (strcpy_s(algoName + aesSize, MAX_KEY_STR_SIZE - aesSize, keySizeChar) != EOK) { LOGE("aes algoName size strcpy_s failed!"); goto clearup; } } else if (type == HCF_ALG_DES) { if (strcpy_s(algoName, MAX_KEY_STR_SIZE, DES_ALG_NAME) != EOK) { LOGE("des algoName strcpy_s failed!"); goto clearup; } if (strcpy_s(algoName + desSize, MAX_KEY_STR_SIZE - desSize, keySizeChar) != EOK) { LOGE("des algoName size strcpy_s failed!"); goto clearup; } } else { LOGE("unsupport algo!"); goto clearup; } return algoName; clearup: HcfFree(algoName); return NULL; }代码解析
时间: 2024-02-14 13:36:08 浏览: 72
jstl-impl-1.2.jar.rar_ jstl-impl-1.2.jar _jstl-impl-1.2_jstl-imp
这段代码主要是根据传入的算法类型(HcfAlgValue type = impl->attr.algo;)来生成算法名称,将算法名称和密钥长度拼接到一起,返回生成的算法名称(return algoName;)。如果生成算法名称和密钥长度的过程中出现错误,则会释放已经分配的内存(HcfFree(algoName);)并返回 NULL。如果传入的算法类型不支持,则会输出错误信息(LOGE("unsupport algo!");)并返回 NULL。这段代码主要是在进行加密操作时使用的。
阅读全文