仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 356|回复: 8
打印 上一主题 下一主题

[其他Linux] linux教程之在Linux中利用MD5完成用户考证的办理办法

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 13:08:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令。
利用openssl中的MD5函数,该函数前往16字节的unsignedchar范例的数据,每一个字节的局限都在0~255间,把
它格局化为十六进制就是32位md5编码。注:一个字节为8位,恰好能够暗示2位的十六进制。
利用登录客户真个用户名从Redis数据库中失掉salt值和加密后的暗码,然后把登录客户真个暗码经由salt加密后,与
Redis数据库中的暗码举行对照。不异则考证经由过程,不然考证失利。
Redis数据库中暗码的存储格局为password:salt
用户考证算法以下:
  intuser_authenticate(char*username,char*password)
  {
    char*salt_pw,*salt,*pw;
    charbuf[40];
    chartmp[3]={},md5_str[33]={};
    unsignedcharmd[16];
    inti;
    //get_salt_pw挪用Redis数据库取得password:salt
    salt_pw=get_salt_pw(db,username);
    pw=strtok(salt_pw,":");
    if(!pw){
      return0;
    }
    salt=strtok(NULL,":");
    if(!salt){
      return0;
    }
    strcpy(buf,password);
    strcat(buf,salt);
    MD5((constunsignedchar*)buf,strlen(buf),md);
    //transformtomd5string
    for(i=0;i<16;i++){
      sprintf(tmp,"%02x",md);
      strcat(md5_str,tmp);
    }
    //compareencodepasswordusingmd5
    if(strcmp((char*)md5_str,pw)){
      return0;
    }
    return1;
  }
个中要注重strtok函数的利用,和16字节的unsignedchar转换为32位十六进制数的历程。


无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。
再现理想 该用户已被删除
沙发
发表于 2015-1-18 10:13:31 | 只看该作者
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-25 12:28:18 | 只看该作者
在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。
小妖女 该用户已被删除
地板
发表于 2015-2-2 22:07:05 | 只看该作者
我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-8 12:28:51 | 只看该作者
我想即使Linux高手也很难快速准确精练的回答你。
莫相离 该用户已被删除
6#
发表于 2015-2-25 15:31:45 | 只看该作者
以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。
乐观 该用户已被删除
7#
发表于 2015-3-8 00:39:47 | 只看该作者
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
若天明 该用户已被删除
8#
发表于 2015-3-15 18:56:17 | 只看该作者
放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。
山那边是海 该用户已被删除
9#
发表于 2015-3-22 03:11:19 | 只看该作者
Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 09:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表