Discuz论坛密码与密保加密规则
Discuz密码加密规则:
md5(md5('字符串').'固定字串');
固定字符串是在注册用户的时候随机生成的,且保存在数据表pre_ucenter_members的salt字段中。
举例:假如密码为 123456789 ,固定字符串为jb51, 那么加密规则为:md5(md5('123456789').'jb51'); 得出的结果就是:96122ff0dd306c912aab15adccf21df1
Discuz密保加密规则:
加密过程是value的值先加密一次,比如我的提问是“驾驶执照的最后四位数字”value的值就是7,7的MD5为8f14e45fceea167a5a36dedd4bea2543,我回答的是 “1v1.name”,这里把1v1.name和7的MD5值放一起,也就是 “1v1.name8f14e45fceea167a5a36dedd4bea2543”加密以后的MD5值为 “f5d8e00a4ebc9ead4611c04706ae05fd”这时再取第17到24位的8位密码“4611c047”4611c047就是数据库里的密码。
该过程中一定要查看源码中每个密保问题的value值。
以上所述是小编给大家介绍的Discuz论坛密码与密保加密规则,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
浅谈discuz密码加密的方式
discuz注册时,会把密码按一个规则加密. 比如我的密码是123456 复制代码 代码如下: echo md5("123456"); 会输出: 复制代码 代码如下: e10adc3949ba59abbe56e057f20f883e 而数据库的值却为: 复制代码 代码如下: 7839dc9437013b5c11a5d86e9b8350e9 注意到: 有个叫salt的字段,其值为:d82a35 其实这是一个随机的字符串. 第一次md5后的值再加上盐值(salt)再进行md5,就是要得到的
-
PHP实现加密的几种方式介绍
PHP中的加密方式有如下几种 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str -- 原始字符串. raw_output -- 如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回. 这是一种不可逆加密,执行如下的代码 $password = '123456'; echo md5($password); 得到结果是e10adc3949
-
2个比较经典的PHP加密解密函数分享
项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理. 最常见的应用在用户登录以及一些API数据交换的场景. 笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家.加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果. 1.非常给力的authcode加密函数,Discuz!经典代码(带详解): 复制代码 代码如下: function authcode
-
discuz加密解密函数使用方法和中文注释
复制代码 代码如下: <?php/** * $string 明文或密文 * $operation 加密ENCODE或解密DECODE * $key 密钥 * $expiry 密钥有效期 */ function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 // 加入随机密钥,可以令密文无任何规律,即便是原文和密钥完全相同,加密结果也会每
-
discuz authcode 经典php加密解密函数解析
原理如下,假如: 加密 明文:1010 1001 密匙:1110 0011 密文:0100 1010 得出密文0100 1010,解密之需和密匙异或下就可以了 解密 密文:0100 1010 密匙:1110 0011 明文:1010 1001 并没有什么高深的算法,密匙重要性很高,所以,关键在于怎么生成密匙. 那我们一起看下康盛的authcode怎么做的吧 复制代码 代码如下: // 参数解释 // $string: 明文 或 密文 // $operation:DECODE表示解密,其它表示加密
-
PHP可逆加密/解密函数分享
函数源码 复制代码 代码如下: function encrypt($data, $key) { $prep_code = serialize($data); $block = mcrypt_get_block_size('des', 'ecb'); if (($pad = $block - (strlen($prep_code) % $block)) < $block) { $prep_code .= str_repeat(chr($pad), $pad); } $encrypt = mcryp
-
php中AES加密解密的例子小结
aesDemo.php: 例子, 复制代码 代码如下: <?phprequire_once('./AES.php');//$aes = new AES();$aes = new AES(true);// 把加密后的字符串按十六进制进行存储//$aes = new AES(true,true);// 带有调试信息且加密字符串按十六进制存储$key = "this is a 32 byte key";// 密钥$keys = $aes->makeKey($key);$encod
-
php中base64_decode与base64_encode加密解密函数实例
本文实例讲述了php中base64_decode与base64_encode加密解密函数.分享给大家供大家参考.具体分析如下: 这两个函数在php中是用得对php代码进行加密与解密码的base64_encode是加密,而base64_decode是解密了,下面我们看两个简单实例. base64_encode语法:string base64_decode(string data); 复制代码 代码如下: $str='d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==';
-
php用户密码加密算法分析【Discuz加密算法】
本文实例讲述了php用户密码加密算法.分享给大家供大家参考,具体如下: 今天在拿Discuz进行二次开发时需要在代码里验证Discuz的用户名密码,结果不小心掉进了坑里,因为Discuz的论坛有两张表来存储用户数据,一张在Discuz的数据库ultrax里面的pre_common_member里面,另一个是存储在了UCenter的数据库ucenter的uc_members表里.花了很大功夫在研究ultrax库里那张pre_common_member的数据,研究它的密码是如何生成的,结果搜了一下发
-
discuz程序的PHP加密函数原理分析
原理如下,假如: 加密 明文:1010 1001 密匙:1110 0011 密文:0100 1010 得出密文0100 1010,解密之需和密匙异或下就可以了 解密 密文:0100 1010 密匙:1110 0011 明文:1010 1001 并没有什么高深的算法,密匙重要性很高,所以,关键在于怎么生成密匙. 那我们一起看下康盛的authcode怎么做的吧 复制代码 代码如下: // 参数解释 // $string: 明文 或 密文 // $operation:DECODE表示解密,其它表示加密
-
PHP 加密解密内部算法
将它们打包成一个文件就叫fun.php吧 复制代码 代码如下: <?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = ''; for($i = 0;$i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ?
-
php加密之discuz内容经典加密方式实例详解
本文实例讲述了php加密之discuz内容经典加密方式.分享给大家供大家参考,具体如下: 导读:有的时候,我们希望对表里的某些敏感字段进行加密,想了好长时间没有比较好的解决方案,后台在网上查了查,放心discuz论坛的这种方案对这种情况解决的不错,特copy过来,给大家分享一下,代码如下: header ( "Content-type:text/html;charset=UTF-8" ); echo $string='花园路888号'; echo '<hr/>加密有效期10
-
PHP中加密解密函数与DES加密解密实例
本文实例讲述了PHP中加密解密函数与DES加密解密的应用,分享给大家供大家参考.具体如下: 例子,php加密解密的例子 加密函数: 复制代码 代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand((double)microtime() * 1000000); $encrypt_key=md5(rand(0, 32000)); $ctr=0; $t
随机推荐
- 利用vbs写的延时关闭ie进程的脚本代码
- Java中JSON字符串与java对象的互换实例详解
- python简单线程和协程学习心得(分享)
- 如何动态加载外部Javascript文件
- ThinkPHP连接数据库及主从数据库的设置教程
- jQuery中的.bind()、.live()和.delegate()之间区别分析
- firefox下获取下列框选中option的text的代码
- javascript和jquery修改a标签的href属性
- Linux的获利之路
- Android 文件数据存储实例详解
- php计算当前程序执行时间示例
- android多种滑动冲突的解决方案
- 详解webpack require.ensure与require AMD的区别
- 深入理解java线程通信
- 梅尔频率倒谱系数(mfcc)及Python实现
- laravel-admin解决表单select联动时,编辑默认没选上的问题
- Linux用脚本实现“时分秒“倒计时功能
- 微信小程序scroll-view隐藏滚动条的方法详解
- Java软件生产监控工具Btrace使用方法详解
- 微信小程序实现电子签名并导出图片