Discuz的密码加密算法其实就是两次MD5加密,首先用明文进行一次加密,之后随机生成一个salt,再把第一次的密文后面添加salt作为明文再进行一次MD5加密。salt保存在uc_members表里,可以通过用户名进行获取。

像这样:

MD5(MD5(明文)+salt)

下面是.net的实现代码:

 代码如下 复制代码

string GetDiscuzPWString(string sourceStr, string salt)
{
     return GetMd5Hash(string.Concat(GetMd5Hash(sourceStr),salt));
}

string GetMd5Hash(string input)
{
    MD5 md5Hasher = MD5.Create();

byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));

StringBuilder sBuilder = new StringBuilder();

for (int i = 0; i < data.Length; i++)
    {
        sBuilder.Append(data[i].ToString("x2"));
    }

return sBuilder.ToString();
}

总结密码判断方式
1:要安装UC
2:打开数据库找到uc_members 这表,寻找最后一个字段"salt ",复制里面的值
3:
$s=md5(md5("密码")."salt字段的值");
echo $s;
4:用IF判断
5:再说一次!那个随机是6位数!

最新文章

  1. 6、Samba 服务器配置
  2. Orcle基本语句(三)
  3. POJ 2533 Longest Ordered Subsequence(最长上升子序列(NlogN)
  4. SinalR+WebSocket
  5. Erlang ERTS的Trap机制的设计及其用途
  6. Index Full Scan vs Index Fast Full Scan-1103
  7. Azure Storage Client Library 重试策略建议
  8. Erlang千万级用户游戏框架(Openpoker)源码文件分析清单
  9. C++中const简介及用法
  10. table边框1px
  11. Direcshow中视频捕捉和参数设置报告
  12. SVN的安装和启动SVN的安装
  13. IDEA下载依赖时提示 resolving dependencies of xxx, yyy
  14. Linux虚拟机下与主机通信
  15. day26 单继承
  16. SIFT算法详解
  17. 相比Redis,Memcached真的过时了吗?
  18. legend2---开发日志1(legend的数据库整体设计思路是什么)
  19. C#读取Excel表中的数据时混合字段部分数据没有
  20. nowcoder106I Neat Tree (单调栈)

热门文章

  1. hdu 5086(递推)
  2. MVC中AuthorizeAttribute用法并实现授权管理
  3. 在Ubuntu/Centos使用 Let's Encrypt 证书部署 HTTPS的方法
  4. Linux下多进程服务端客户端模型一(单进程与多进程模型)
  5. React Native WebView关闭缓存
  6. 转 linux任务调度之crontab命令
  7. 51nod 算法马拉松 34 Problem D 区间求和2 (FFT加速卷积)
  8. POJ 2763 Housewife Wind(树链剖分)(线段树单点修改)
  9. Kali Linux下运行Sniffjoke出错的解决
  10. iframe和response.sendRedirect()跳转到父页面的问题