当前位置 博文首页 > 文章内容

    crypt,关于Linux下的crypt加密

    作者:zyd1113wz 栏目:网站相关 时间:2021-03-03 13:37:15

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



         调试pfsense开源防火墙时,需要修改初始密码。故用到此函数:

         #include <unistd.h>

         char *crypt(const char *key, const char *salt); 

         以上是关于crypt函数的说明。参数key是待加密的字符串,salt是影响加密结果的字符串。

         为了查看一个用户输入的密码是否与该登录用户的密码一致,可以先获得与当前登录用户的用户名,然后查看/etc/shadow文件,从文件中提取出salt,然后调用crypt进行计算,将得到的结果与/etc/shadow中的加密密码字段比较,若一致则说明用户输入密码正确。

         /etc/shadow文件中的salt就是密码字段中的第一个"$"到第三个"$"的内容。

         如下是试验机中的/etc/shadow文件中一个用户的密码字段,该密码测试时用123456:

    $6$y9cP0qlmDYgBk6OZ$W25lC2x90QIrNde8TVJY.D2tjAiQUHF.oaPeKXZSpX93aGyN8lzyDeCOj2Dsl0g9TtTgz.tDfTOfpbyXvN0kP0

    其中salt就是:

    $6$y9cP0qlmDYgBk6OZ$

          下面是测试程序:

         linux下gcc编译时:

    gcc pass.c -o pass -lcrypt

         运行后输出结果为:

     password:$6$y9cP0qlmDYgBk6OZ$W25lC2x90QIrNde8TVJY.D2tjAiQUHF.oaPeKXZSpX93aGyN8lzyDeCOj2Dsl0g9TtTgz.tDfTOfpbyXvN0kP0

         原文链接:https://blog.csdn.net/libinbin_1014/article/details/48681509