繁体   English   中英

C crypt()在md5模式下无法正常工作?

[英]C crypt() not working correctly on md5 mode?

我在c中第一次使用crypt()函数。 我刚刚运行了一些初始测试,因此实际上并没有使用这些测试,特别是恒定的盐值。 :)

我运行以下代码:

crypt(password, "$1$k7de83ka7");

根据我对crypt文档的理解,这个提供的salt值应该指定crypt()在MD5模式下运行,这将产生格式为“$ 1 $”的哈希。 $ 1 $指定使用MD5进行哈希处理的值。 这就是我理解它应该工作的方式。

但是,当我测试上面的代码时,返回的值是“$ 1ciFuWRySk3A”,所以它似乎缺少一个'$'字符。 我做错了导致这个问题吗?

crypt(password, "$1$k7de83ka7");

我不认为你正在从手册页正确地调用crypt

如果salt是以字符“$ id $” 开头的字符串,后跟以“$”结尾的字符串$ id $ salt $ encrypted

然后id标识加密方法。

你不应该期望它返回一个包含$的字符串(不一定)

成功时,将返回指向加密密码的指针。 出错时,返回NULL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM