c - C crypt() 函数,不同的密码,相同的哈希
问题描述
下面的代码为不同但相似的单词生成相同的哈希。这是否意味着用户可以键入类似的密码并获得访问权限?
hi = crypt("academics", "50");
hii = crypt("academicians", "50");
printf ("academics : %s\n", hi);
printf ("academicians : %s\n", hii);
printf ("string compare : %d\n", strcmp(hi,hii));
输出 :
academics : 50IlqAh9rdDJo
academicians : 50IlqAh9rdDJo
string compare : 0
解决方案
它们crypt
的功能使用您作为参数传递的密钥的前 8 个字符中每个字符的最低 7 位,以生成用于加密的密钥。
推荐阅读
- vba - VBA宏在目录中查找工作表计数
- docker - 泊坞窗已停止,仍然在浏览器中呈现网页
- javascript - 如何从数组中获取值,只有那些大于其右侧所有元素的值
- java - 将 JText 区域一分为二
- java - 类 c7 中的构造函数 c7 不能应用于给定类型
- c# - 当我想将自定义类添加为设置类型时,“类型未定义”
- android - 从相机意图中删除记录
- java - 从 DataIntegrityViolationException 获取 SQL 异常消息
- java - 空结果与可预测但不可预防的失败引发异常
- google-analytics - 谷歌分析:当二级域重定向到主域时跟踪推荐站点