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命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。 熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种: 在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。 我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。 我想即使Linux高手也很难快速准确精练的回答你。 以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。 Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。 放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。 Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
页:
[1]