谁可相欹 发表于 2015-1-16 13:08:41

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

不同版本的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;
    chartmp={},md5_str={};
    unsignedcharmd;
    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。

飘飘悠悠 发表于 2015-2-8 12:28:51

我想即使Linux高手也很难快速准确精练的回答你。

莫相离 发表于 2015-2-25 15:31:45

以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。

乐观 发表于 2015-3-8 00:39:47

Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。

若天明 发表于 2015-3-15 18:56:17

放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。

山那边是海 发表于 2015-3-22 03:11:19

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
页: [1]
查看完整版本: linux教程之在Linux中利用MD5完成用户考证的办理办法