精易论坛

标题: 求MD5解密方法,或解密源码 [打印本页]

作者: qq1056123185    时间: 2025-6-20 17:01
标题: 求MD5解密方法,或解密源码
cmd5是怎么做到可以解密的?
密文“a860e480ce3c1ab0489bbbf615e665ee”,
有什么网站?或者源码?能做到解密?



补充内容 (2025-6-21 16:13):
有大佬把“a860e480ce3c1ab0489bbbf615e665ee”的明文发出来,进行结帖~
作者: qq1056123185    时间: 2025-6-20 17:01
密文是 Hash NTLM
作者: YXR20061105    时间: 2025-6-20 17:07
MD5是数据摘要,解密不了吧
作者: q4567    时间: 2025-6-20 17:08
MD5不支持解密           
作者: wangjie12    时间: 2025-6-20 17:09
666666666666
作者: NIEX9527    时间: 2025-6-20 17:14
md5是不可逆加密
作者: wtflxk    时间: 2025-6-20 17:15
md5是摘要算法 只能碰撞不能解密 当然如果你是王小云也许你会有更好的办法
作者: 神女软件定制    时间: 2025-6-20 17:16
因为他后台统计了大量常见字符串的md5
作者: lmy001    时间: 2025-6-20 17:16


作者: 刘文明乌猛    时间: 2025-6-20 17:16
直接口算
作者: panaowei    时间: 2025-6-20 17:29
md5是摘要算法 只能碰撞不能解密 当然如果你是王小云也许你会有更好的办法
作者: 7ian    时间: 2025-6-20 17:45
不用去想,生成这个md5的数据有很多个,可能是一个视频一个音乐一段文字一张图片
作者: wei1576102970    时间: 2025-6-20 17:56
md5不可逆,你可以抓包追溯到时哪些参数生成的这个md5的数值,然后用易语言写一个生成相同的密文提交
作者: 阿杰大大    时间: 2025-6-20 18:23
wtflxk 发表于 2025-6-20 17:15
md5是摘要算法 只能碰撞不能解密 当然如果你是王小云也许你会有更好的办法 ...

王小云也只是证明了不同的明文 MD5是一致的.
作者: ydcyy    时间: 2025-6-20 21:14
把算过的常见的MD5都放进数据库了
作者: muou22    时间: 2025-6-20 21:57
发出网址搞生成算法还有可能,纯解密应该没人做得到吧。。能做到的人也不会在这晃悠。
作者: qq1056123185    时间: 2025-6-21 07:46
lmy001 发表于 2025-6-20 17:16

对,cmd5可以解密,但是需要付费
作者: 熬夜    时间: 2025-6-21 12:17
不可逆的  这个没法逆向解开
作者: 我爱逗妇乳    时间: 2025-6-21 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):
自己写个代码,自己跑去




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4