明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: baitang36

[经验] [原创]让MD5算法飞起来(已改进)

  [复制链接]
发表于 2025-2-21 21:33:44 | 显示全部楼层
大佬,浩辰cad好像加载不了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-2-21 23:26:26 | 显示全部楼层
sharetow 发表于 2025-2-21 21:33
大佬,浩辰cad好像加载不了

不支持浩辰,浩辰缺函数。中望正在努力,可能很快就能用了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-2-27 10:51:30 | 显示全部楼层
命令: (syz-md5 "1234567890")
"e807f1fcf82d132f9bb018ca6738a19f"
经测试,中望cad2026测试版,可以正常使用。
回复 支持 反对

使用道具 举报

发表于 2025-3-21 09:37:49 | 显示全部楼层
本帖最后由 hw8810 于 2025-3-21 09:42 编辑

可以用,支持大佬
回复 支持 反对

使用道具 举报

发表于 2025-4-15 03:52:16 | 显示全部楼层
在2022电脑上面好像不好使, 2007可以.


(load "d:/aa/syz-md5.fas")
(print (syz-md5 "12345678901234567890"))


; 错误: 参数类型错误: consp nil

点评

2021版本及以上,要让lispsys=0 重启cad  发表于 2025-4-15 10:03
回复 支持 反对

使用道具 举报

发表于 2025-4-15 13:31:25 | 显示全部楼层
哦哦, 好嘞, 谢谢.
回复 支持 反对

使用道具 举报

发表于 2025-7-12 17:01:43 | 显示全部楼层
本帖最后由 zml84 于 2025-7-12 17:24 编辑

https://mp.weixin.qq.com/s/ldUFafBUCXxJcBlrSkaEmQ


  1. (vl-load-com)
  2. ;;;=================================================================*
  3. ;;;      定义函数                                                   *
  4. ;;;功能:获取指定文件的MD5                                          *
  5. ;;;参数:filename ----- 文件名称。                                  *
  6. ;;;返回:若成功,返回32位字符串。若失败,返回nil。                  *
  7. ;;;日期:zml84 于 2025-04-26                                        *
  8. ;;;--------------------------------
  9. ;;;备忘:
  10. ;;;1、等待机制:通过 while 循环持续检查 Status 属性,直到命令完成
  11. ;;;
  12. ;;;2、输出读取:
  13. ;;; StdOut.ReadAll 获取标准输出
  14. ;;; StdErr.ReadAll 获取错误输出
  15. ;;;
  16. ;;;3、状态码:
  17. ;;; 0 = 运行中
  18. ;;; 1 = 成功完成
  19. ;;; 2 = 失败
  20. ;;;
  21. ;;;4、资源释放:使用 vlax-release-object 防止内存泄漏
  22. ;;;--------------------------------
  23. (defun fun-MD5 (filename / shell cmd exec stdout stderr status)
  24.     (if (and
  25.             (findfile filename)
  26.             (setq shell
  27.                 (vlax-create-object "WScript.Shell")
  28.             )
  29.         )
  30.         (progn
  31.             ;; 构建命令行
  32.             (setq cmd
  33.                 (strcat "certutil -hashfile \"" filename "\" MD5"
  34.                 )
  35.             )
  36.             ;; 执行命令
  37.             (setq exec
  38.                 (vlax-invoke shell 'Exec cmd)
  39.             )
  40.             ;; 等待命令执行完成
  41.             (while
  42.                 (zerop (vlax-get-property exec 'Status))
  43.                 (vlax-get-property exec 'Status) ; 空循环等待
  44.             )
  45.             ;; 记录执行结果
  46.             (setq stdout
  47.                 (vlax-invoke-method
  48.                     (vlax-get-property exec 'StdOut) "ReadAll"
  49.                 )
  50.             )
  51.             (setq stderr
  52.                 (vlax-invoke-method
  53.                     (vlax-get-property exec 'StdErr) "ReadAll"
  54.                 )
  55.             )
  56.             (setq status
  57.                 (vlax-get-property exec 'Status)
  58.             ) ;_状态码
  59.             ;; 清理 COM 对象
  60.             (vlax-release-object exec)
  61.             (vlax-release-object shell)
  62. ;;;     ;; 显示结果
  63. ;;;     (princ (strcat "\n标准输出: \n" stdout))
  64. ;;;     (princ (strcat "\n错误信息: \n" stderr))
  65. ;;;     (princ (strcat "\n状态码: " (itoa status)))
  66.             ;; 返回
  67.             (if
  68.                 (and
  69.                     (= status 1)
  70.                     (setq i (vl-string-search "\r\n" stdout))
  71.                 )
  72.                 (substr stdout (+ i 3) 32)
  73.             )
  74.         )
  75.     )
  76. )
  77. ;;;=================================================================*
  78. ;;;功能:测试
  79. (defun c:tt(/ filename)
  80.     (princ "测试:计算文件的MD5")
  81.     (if
  82.         (setq filename
  83.             (getfiled "选择要计算哈希的文件" "" "*" 16)
  84.         )
  85.         (print (fun-md5 filename))
  86.     )
  87.     (princ)
  88. )


源码位置:https://tool.zml84.xyz/lisp/view/?uuid=cc00eccd-6fcc-4435-b963-d961aa25a461

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

速度怎么样?  发表于 2025-7-15 04:22
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-7-26 01:12 , Processed in 0.195799 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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