gpt4 book ai didi

c++ - 将 AES 加密的十六进制字符串转换回 C++ 中的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:50:58 25 4
gpt4 key购买 nike

在 C++ 中,我有一个 AES 加密的 char*,我在将其作为 URL 参数发送之前转换为它的 HEX 表示,just as it is done in this question .现在,我想做相反的事情,即将这种十六进制再次转换回 char* 。但是我在这里感到困惑 - 使用带有 %x 或 %s 的 sprintf 会导致完全不同的值。我怎样才能将它再次转换回来?谢谢...

最佳答案

您可以像这样使用 sscanf():

#define LEN  16 /* 128/8 */

void aes_to_char(char *aes, char *res)
{
int i;
for (i = 0; i < LEN; i++) {
sscanf(aes, "%2hhx", &res[i]);
aes += 2;
}
}

"%2hhx" 表示“一个 2 个字符的十六进制值,存储在 char * 中。

关于c++ - 将 AES 加密的十六进制字符串转换回 C++ 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16019562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com