开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

12
返回列表 发新帖
楼主: qq1056123185
收起左侧

[其它求助] 求MD5解密方法,或解密源码

[复制链接]
发表于 前天 17:29 | 显示全部楼层   安徽省蚌埠市
md5是摘要算法 只能碰撞不能解密 当然如果你是王小云也许你会有更好的办法
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 3 天

发表于 前天 17:45 | 显示全部楼层   广东省珠海市
不用去想,生成这个md5的数据有很多个,可能是一个视频一个音乐一段文字一张图片
回复

使用道具 举报

结帖率:25% (1/4)

签到天数: 17 天

发表于 前天 17:56 | 显示全部楼层   江苏省宿迁市
md5不可逆,你可以抓包追溯到时哪些参数生成的这个md5的数值,然后用易语言写一个生成相同的密文提交
回复

使用道具 举报

结帖率:93% (26/28)

签到天数: 19 天

发表于 前天 18:23 | 显示全部楼层   河北省唐山市
wtflxk 发表于 2025-6-20 17:15
md5是摘要算法 只能碰撞不能解密 当然如果你是王小云也许你会有更好的办法 ...

王小云也只是证明了不同的明文 MD5是一致的.
回复

使用道具 举报

签到天数: 5 天

发表于 前天 21:14 | 显示全部楼层   广东省广州市
把算过的常见的MD5都放进数据库了
回复

使用道具 举报

结帖率:50% (2/4)

签到天数: 2 天

发表于 前天 21:57 | 显示全部楼层   河南省驻马店市
发出网址搞生成算法还有可能,纯解密应该没人做得到吧。。能做到的人也不会在这晃悠。
回复

使用道具 举报

结帖率:82% (18/22)

签到天数: 14 天

 楼主| 发表于 昨天 07:46 | 显示全部楼层   日本

对,cmd5可以解密,但是需要付费
回复

使用道具 举报

结帖率:100% (106/106)

签到天数: 21 天

发表于 昨天 12:17 | 显示全部楼层   浙江省温州市
不可逆的  这个没法逆向解开
回复

使用道具 举报

结帖率:88% (14/16)

签到天数: 1 天

发表于 昨天 17:21 | 显示全部楼层   广东省东莞市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
线程池线程池  
目标MD5文本型  
字符集文本型  
最小长度整数型  
最大长度整数型  
已停止逻辑型  
尝试次数长整数型  
开始时间长整数型  
成功密码文本型  
字符缓存字节集  
字符缓存长度整数型  
最后保存时间长整数型  
字典模式逻辑型  
字典内容文本型0 
当前字典索引整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
线程池.创建 (取处理器数 (), , , )  ' 根据CPU核心数创建线程池
编辑框_字符集.内容 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"  ' 默认字符集
编辑框_最小长度.内容 = "1"
编辑框_最大长度.内容 = "6"
状态条1.置文本 (0, "就绪")
状态条1.置文本 (1, "线程: " + 到文本 (取处理器数 ()))
超级列表框1.插入列 (, "线程ID", 80, , , )
超级列表框1.插入列 (, "当前密码", 150, , , )
超级列表框1.插入列 (, "速度 (次/秒)", 100, , , )
超级列表框1.插入列 (, "尝试次数", 100, , , )
最后保存时间 = 取启动时间 ()
子程序名返回值类型公开备 注
_按钮_开始_被单击  
如果真 (编辑框_MD5.内容 = "")
信息框 ("请输入MD5值!", #错误图标, , )
返回 ()

如果真 (取文本长度 (字符集) = 0 字典模式 = )
信息框 ("字符集不能为空!", #错误图标, , )
返回 ()

目标MD5 = 编辑框_MD5.内容
字符集 = 编辑框_字符集.内容
最小长度 = 到整数 (编辑框_最小长度.内容)
最大长度 = 到整数 (编辑框_最大长度.内容)
已停止 = 假
尝试次数 = 0
成功密码 = ""
开始时间 = 取启动时间 ()
最后保存时间 = 取启动时间 ()

' 准备字符缓存提高性能
字符缓存长度 = 取文本长度 (字符集)
字符缓存 = 到字节集 (字符集)

' 清空并初始化线程状态列表
超级列表框1.全部删除 ()
计次循环首 (线程池.取最大线程数 (), i)
索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (索引, 0, "线程" + 到文本 (i))
超级列表框1.置标题 (索引, 1, "初始化中...")
超级列表框1.置标题 (索引, 2, "0")
超级列表框1.置标题 (索引, 3, "0")
计次循环尾 ()

' 重置字典模式
如果 (选择框_字典模式.选中)
字典模式 = 真
当前字典索引 = 0

如果真 (通用对话框1.打开 ())
返回 ()

文件号 = 打开文件 (通用对话框1.文件名, , )
如果真 (文件号 = 0)
信息框 ("无法打开字典文件!", #错误图标, , )
返回 ()

文本 = 读入文本 (文件号, )
关闭文件 (文件号)

字典内容 = 分割文本 (文本, #换行符, )
如果真 (取数组成员数 (字典内容) = 0)
信息框 ("字典文件内容为空!", #错误图标, , )
返回 ()

标签_结果.标题 = "字典模式启动,条目数: " + 到文本 (取数组成员数 (字典内容))
字典模式 = 假
标签_结果.标题 = "暴力破J启动..."

状态条1.置文本 (0, "运行中")
按钮_开始.禁止 = 真
按钮_暂停.禁止 = 假
按钮_保存.禁止 = 假

' 启动破J线程
计次循环首 (线程池.取最大线程数 (), i)
线程池.投递任务 (&破J任务, i, )
计次循环尾 ()
子程序名返回值类型公开备 注
_按钮_暂停_被单击  
如果 (已停止)
已停止 = 假
按钮_暂停.标题 = "暂停"
状态条1.置文本 (0, "运行中")

' 恢复线程
计次循环首 (线程池.取最大线程数 (), i)
线程池.投递任务 (&破J任务, i, )
计次循环尾 ()
已停止 = 真
按钮_暂停.标题 = "继续"
状态条1.置文本 (0, "已暂停")

子程序名返回值类型公开备 注
_按钮_保存_被单击  
调用子程序 (&保存进度, )
子程序名返回值类型公开备 注
保存进度  
.局部变量 文件号, 整数型
.局部变量 保存内容, 文本型

文件号 = 打开文件 ("破J进度.txt", #重写, )
如果真 (文件号 = 0)
信息框 ("无法保存进度!", #错误图标, , )
返回 ()

保存内容 = "目标MD5:" + 目标MD5 + #换行符
保存内容 = 保存内容 + "字符集:" + 字符集 + #换行符
保存内容 = 保存内容 + "最小长度:" + 到文本 (最小长度) + #换行符
保存内容 = 保存内容 + "最大长度:" + 到文本 (最大长度) + #换行符
保存内容 = 保存内容 + "尝试次数:" + 到文本 (尝试次数) + #换行符
保存内容 = 保存内容 + "开始时间:" + 到文本 (开始时间) + #换行符

如果 (字典模式)
保存内容 = 保存内容 + "字典模式:是" + #换行符
保存内容 = 保存内容 + "当前字典索引:" + 到文本 (当前字典索引) + #换行符
保存内容 = 保存内容 + "字典模式:否" + #换行符

写出文本 (文件号, 保存内容)
关闭文件 (文件号)
状态条1.置文本 (0, "进度已保存")
子程序名返回值类型公开备 注
破J任务  
DLL命令名返回值类型公开备 注
(暂未填写DLL命令名)   
DLL库文件名:
(未填写库文件名)
在DLL库中对应命令名:
(未填写命令名)
参数名类 型传址数组备 注
线程ID整数型
.局部变量 当前密码, 文本型
.局部变量 局部尝试次数, 长整数型
.局部变量 局部开始时间, 长整数型
.局部变量 最后更新时间, 长整数型

局部尝试次数 = 0
局部开始时间 = 取启动时间 ()
最后更新时间 = 取启动时间 ()

判断循环首 (取反 (已停止) 成功密码 = "")
如果 (字典模式)
' 字典模式
如果真 (当前字典索引 ≥ 取数组成员数 (字典内容))
跳出循环 ()

当前密码 = 字典内容 [当前字典索引]
当前字典索引 = 当前字典索引 + 1
' 暴力破J模式
' [优化后的密码生成算法,考虑篇幅此处简略]
当前密码 = 生成密码 (线程ID)  ' 实际实现需要根据线程ID划分任务

如果真 (当前密码 ≠ "")
局部尝试次数 = 局部尝试次数 + 1
原子递增 (尝试次数)

' 计算MD5并比较
如果真 (取数据摘要 (到字节集 (当前密码)) = 目标MD5)
成功密码 = 当前密码
调用子程序 (&显示结果, 成功密码)
返回 ()

' 每100ms更新一次界面
如果真 (取启动时间 () - 最后更新时间 > 100)
调用子程序 (&更新线程状态, 线程ID, 当前密码, 局部尝试次数, 局部开始时间)
最后更新时间 = 取启动时间 ()
局部尝试次数 = 0
局部开始时间 = 取启动时间 ()

' 每10秒自动保存一次进度
如果真 (取启动时间 () - 最后保存时间 > 10000)
调用子程序 (&保存进度)
最后保存时间 = 取启动时间 ()


判断循环尾 ()

如果真 (取反 (字典模式) 成功密码 = "")
调用子程序 (&更新线程状态, 线程ID, "任务完成", 局部尝试次数, 局部开始时间)

子程序名返回值类型公开备 注
原子递增  
参数名类 型参考可空数组备 注
变量长整数型
进入许可区 (许可区)
变量 = 变量 + 1
退出许可区 (许可区)
子程序名返回值类型公开备 注
更新线程状态  
参数名类 型参考可空数组备 注
线程ID整数型
当前密码文本型
尝试次数长整数型
开始时间长整数型
.局部变量 速度, 双精度小数型
.局部变量 用时, 整数型

用时 = 取启动时间 () - 开始时间
如果真 (用时 = 0)
速度 = 0
速度 = 尝试次数 ÷ (用时 ÷ 1000)

计次循环首 (超级列表框1.取表项数 (), i)
如果真 (超级列表框1.取标题 (i, 0) = "线程" + 到文本 (线程ID))
超级列表框1.置标题 (i, 1, 当前密码)
超级列表框1.置标题 (i, 2, 到文本 (取整 (速度)))
超级列表框1.置标题 (i, 3, 到文本 (尝试次数))
跳出循环 ()

计次循环尾 ()

' 更新总状态
状态条1.置文本 (2, "总尝试: " + 到文本 (尝试次数))
状态条1.置文本 (3, "总速度: " + 到文本 (取整 (尝试次数 ÷ ( (取启动时间 () - 开始时间) ÷ 1000))) + "次/秒")

如果真 (最大长度 > 0 取反 (字典模式))
.局部变量 总组合数, 长整数型
.局部变量 剩余组合数, 长整数型
.局部变量 完成比例, 双精度小数型
.局部变量 预计剩余时间, 整数型

总组合数 = 计算总组合数 (字符缓存长度, 最小长度, 最大长度)
完成比例 = 尝试次数 ÷ 总组合数
剩余组合数 = 总组合数 - 尝试次数

如果真 (尝试次数 > 0 完成比例 < 1)
预计剩余时间 (剩余组合数 ÷ (尝试次数 ÷ ( (取启动时间 () - 开始时间) ÷ 1000))) ÷ 3600
状态条1.置文本 (4, "进度: " + 取文本左边 (到文本 (完成比例 × 100), 5) + "% 剩余: " + 到文本 (预计剩余时间) + "小时")


子程序名返回值类型公开备 注
显示结果  
参数名类 型参考可空数组备 注
密码文本型
如果 (密码 ≠ "")
标签_结果.标题 = "破J成功!密码:" + 密码
状态条1.置文本 (0, "成功")
剪辑板.置文本 (密码)
如果 (字典模式)
标签_结果.标题 = "字典破J完成,未找到匹配密码"
标签_结果.标题 = "暴力破J完成,未找到匹配密码"
状态条1.置文本 (0, "完成")

按钮_开始.禁止 = 假
按钮_暂停.禁止 = 真
已停止 = 真

' 保存最终进度
调用子程序 (&保存进度)
子程序名返回值类型公开备 注
计算总组合数长整数型 
参数名类 型参考可空数组备 注
字符数整数型
最小长度整数型
最大长度整数型
变量名类 型静态数组备 注
总数长整数型 
i整数型 
总数 = 0
计次循环首 (最大长度 - 最小长度 + 1, i)
总数 = 总数 + 求幂 (字符数, 最小长度 + i - 1)
计次循环尾 ()
返回 (总数)
子程序名返回值类型公开备 注
_选择框_字典模式_被单击  
如果 (选择框_字典模式.选中)
编辑框_字符集.禁止 = 真
编辑框_最小长度.禁止 = 真
编辑框_最大长度.禁止 = 真
按钮_选择字典.禁止 = 假
字典模式 = 真
编辑框


i支持库列表   支持库注释   
eThread(未知支持库)
dp1数据操作支持库一
iext扩展界面支持库一
spec特殊功能支持库



补充内容 (2025-6-21 17:21):
自己写个代码,自己跑去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表