Discuz论坛密码加密方式详解

摘要:
但昨天,我们需要整合discuz论坛。它的加密方法似乎也像md5,但简单的123加密无法解密。后来,我上网查了一下,发现这不仅仅是一个简单的md5加密,而是“md5+随机”。当然,这样更安全。网站是安全的,程序自然很复杂…discuz:md5,$salt的加密方法是一个6位随机数。登录时,根据用户名取出$salt并将密码与md5匹配。如果密码相同,则登录成功
一般我们的加密都是采用md5加密方式:md5(变量)。但是昨天需要整合discuz的论坛,看他的加密方式也像是md5,但是简单的123加密后竟然解密不出来。后来在网上查了一下,发现他不只是简单的md5加密,而是“md5+随机”。当然这样更安全了
     网站安全了,程序自然也就复杂了...
     discuz的加密方式:md5(md5($password).$salt),$salt是一个6位随机数。
     注册的时候,把用户的密码用md5(md5($password).$salt)加密,$salt是一个6位随机数字,下面是我的一个获取6位随机数的一个方法:
     function randstr($len=6) {
     $chars='abcdefghijklmnopqrstuvwxyz0123456789';
// characters to build the password from
     mt_srand((double)microtime()*1000000*getmypid());
// seed the random number generater (must be done)
     $password='';
     while(strlen($password)<$len)
         $password.=substr($chars,(mt_rand()%strlen($chars)),1);
     return $password;
}
     $salt=randstr();把randstr()赋值给$salt,然后用md5(md5(会员提交的密码).$salt)加密就可以了,但是千万不要忘了把$salt入库哦(uc_members表)。
     登陆的时候根据用户名把$salt取出来,用md5(md5(会员提交的密码).$salt)匹配密码,如果一样就登陆成功了

免责声明:文章转载自《Discuz论坛密码加密方式详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇windows网络流量监控《手把手教你》系列技巧篇(四十四)java+ selenium自动化测试处理https 安全问题或者非信任站点下篇(详解教程) 北京下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

.net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密

 写项目时,后台一直用md5加密,一天群里人问,除了MD5还有其它的加密方法吗?当时只知道还有个SHA,但怎么实现什么的都不清楚,于是当网上找了下,把几种常见的加密方法都整理了下,用winform写了个程序,如图: 关键代码 using System.Security;using System.Security.Cryptography;using Sy...

MD5算法

转自MD5算法 MD5是输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个128-bits散列。基本方式为,求余、取余、调整长度、与链接变量进行循环运算,得出结果。 MD5的具体实现好像有所区别,起码维基百科和百度百科的就不一样。但经过验证都是正确的,而这里采用的是维基百科的方法(http://zh...

iOS常见加密方法

*普通加密方法是讲密码进行加密后保存到用户偏好设置中 *钥匙串是以明文形式保存,但是不知道存放的具体位置 (一 )base64加密 base64编码是现代密码学的基础 基本原理: 原本是8个bit一组表示数据,改为6个bit一组表示数据,不足部分补0,每两个0用一个=表示 用base64编码之后,数据长度会改变,曾加了大约1/3/作用.(8-6)/6 ba...

Swift MD5加密

很多时候我们会用到md5加密,下面是swift 3.0的实现方法: 首先新建桥接文件 xx-Bridging-Header,方法很多,这里就不介绍了。 然后在桥接文件中引入加密库 #import <CommonCrypto/CommonDigest.h> 新建一个 Swift 扩展类文件 String+Extension extension S...

前端请求参数MD5加密发送后台

最近在项目开发中遇到前端发送参数加密的问题,网上查找半天也是很乱,小编自己在项目开发中总结了一下,写到博客中,希望能够帮助大家。 贴上html,javascript代码 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UT...

java 调用apache.commons.codec的包简单实现MD5加密

转自:https://blog.csdn.net/mmd1234520/article/details/70210002/ 1 importjava.security.MessageDigest; 2 importjava.security.NoSuchAlgorithmException; 3 4 import org.apache....