我第一次在 c 中使用 crypt() 函数。我只是在运行一些初始测试,因此实际上不会使用这些测试,尤其是恒定的盐值。:)
我运行以下代码:
crypt(password, "$1$k7de83ka7");
根据我对 crypt 文档的理解,这个提供的 salt 值应该指定 crypt() 在 MD5 模式下运行,这将产生格式为“$1$”的哈希。$1$ 指定使用 MD5 散列的值。这就是我理解它应该起作用的方式。
但是,当我测试上面的代码时,返回的值是“$1ciFuWRySk3A”,所以它似乎缺少一个“$”字符。我做错了什么导致这个问题吗?