gpt4 book ai didi

c - SHA256 为每个输入生成相同的哈希值

转载 作者:行者123 更新时间:2023-11-30 20:16:26 25 4
gpt4 key购买 nike

我正在循环中使用 SHA256 在 C 中生成哈希值,并且还传递要生成哈希值的循环计数器变量。由于计数器变量的值在每次迭代中都会发生变化,因此我希望 SHA256 每次都会返回不同的哈希值。但它每次都会返回相同的哈希值。请帮忙!

提前致谢

代码:

int generate_sha256hash { 
int loop = 0;
unsigned char hash_paramters[2] = {0};
unsigned char device_ids[2] = {0,0};
hash_paramters[0] = 0;
unsigned char pass_string = "PASSWORD";

for(loop = 1; loop < 10; loop++) {
hash_paramters[1] = loop;
memcpy((unsigned char)(&input_info[0]),(unsigned char )hash_paramters ,2);
memcpy((unsigned char)(&input_info[2]),(unsigned char )device_ids,2);
memcpy((unsigned char)(&device_info[4]),(unsigned char*)au8defaultPwd,8);

printf("\n Generating Hash Value ");

hash_value = SHA256(device_info,14,au8HashValue);
}
}

最佳答案

您在循环中更改input_info(取决于计数器),但不将其用于哈希生成。您仅使用device_info)。

我认为在 memcpy 调用中所有对 unsigned char 的转换实际上都是对 unsigned char* 的转换,因为它们应该是。您的代码中还有其他语法特性。

关于c - SHA256 为每个输入生成相同的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10279825/

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