[英]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.