gpt4 book ai didi

c - 如何在带有 sha512 的 freeBSD 上使用 crypt()?

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:50 24 4
gpt4 key购买 nike

目前我的代码是这样的:

if (iInit == 1)
{
if (crypt_set_format("sha512") == 0)
return -1;

iInit = !iInit;
}

res = crypt(szPWhash, "ABCDEFGH");

生成的散列是 € v

我试过了

res = crypt(szPWhash, "$6$QX$");

甚至这个符号:

res = crypt(szPWhash, "$6$QX");

但不管我选择哪种盐或者输入的密码是什么。

生成的散列每次都不变€ v

什么看起来甚至不像 sha512 哈希。

那么我做错了什么?

编辑

我发现,如果我更改加密方法,哈希值会发生变化,但无论我选择什么作为 key 和/或盐,它都会保持相似。

最佳答案

我不知道 crypt,但使用 openssl 它看起来像:

SHA512_CTX * ctx = calloc(sizeof ctx,1); // or stack allocate / not as a pointer
SHA512_Init(ctx);
char * str = "blahblah";
SHA512_Update(context, str, strlen(str));
unsigned char hash[SHA512_DIGEST_LENGTH];
SHA512_Final(hash, context);

关于c - 如何在带有 sha512 的 freeBSD 上使用 crypt()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20554442/

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