明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1252|回复: 12

[提问] 字符串混淆优化

[复制链接]
发表于 2022-8-2 10:42 | 显示全部楼层 |阅读模式
3明经币
这个函数代码在中望CAD里面运行较慢,需要10秒时间,谁能帮忙优化优化。
  1. (defun appcodeConfused(str / code lennum n strlst)
  2.                     (setq strlst (vl-string->list str) lennum (length strlst) n 0 code "")
  3.                     (foreach x strlst
  4.                       (setq code
  5.                         (strcat code
  6.                           (cond
  7.                             ((< n 1 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  8.                             ((< n 2 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  9.                             ((< n 3 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  10.                             ((< n 4 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  11.                             ((< n 5 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  12.                             ((< n 6 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  13.                             ((< n 7 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  14.                             ((< n 8 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  15.                             ((< n 9 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  16.                             ((< n 10 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  17.                             ((< n 11 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  18.                             ((< n 12 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  19.                             ((< n 12 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  20.                             ((< n 14 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  21.                             ((< n 15 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  22.                             ((< n 16 lennum) (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  23.                             (T (strcat (itoa (nth n strlst)) (itoa (ascii "F"))))
  24.                           )
  25.                         )
  26.                       )
  27.                       (setq n (1+ n))
  28.                     )
  29.                     code
  30.                   )

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-8-2 17:03 | 显示全部楼层
  1. (defun appcodeConfused (str / x)
  2.   (apply 'strcat
  3.          (mapcar '(lambda (x)
  4.                     (strcat (itoa x) "70")
  5.                   )
  6.                  (vl-string->list str)
  7.          )
  8.   )
  9. )
回复

使用道具 举报

 楼主| 发表于 2022-8-4 19:34 | 显示全部楼层

里面的“F”只是举例,实际上每个字都是不一样的
回复

使用道具 举报

发表于 2022-8-5 09:51 | 显示全部楼层
本帖最后由 baitang36 于 2022-8-5 09:53 编辑

试一下这个,看看速度能提高多少?没有改变你的算法,只是把F替换成当前时间的秒数
(defun hxcode(str / code strl n miao)
(setq miao (menucmd "M=$(edtime,$(getvar,date),SS)"))
(setq strl (strlen str))
(setq code "")
(setq n 1)
(repeat strl
(setq code (strcat code (itoa (ascii (substr str n 1))) miao))
(setq n (+ n 1))
)
code
)
回复

使用道具 举报

 楼主| 发表于 2022-8-5 10:32 | 显示全部楼层
baitang36 发表于 2022-8-5 09:51
试一下这个,看看速度能提高多少?没有改变你的算法,只是把F替换成当前时间的秒数
(defun hxcode(str / c ...

和上面那位仁兄的结果一样,都是还有8秒的延迟,估计还有别的函数影响。你这个随机的每次生成都不一样,每次都得算一次才能用,不太合适呢。
回复

使用道具 举报

 楼主| 发表于 2022-8-5 10:34 | 显示全部楼层
baitang36 发表于 2022-8-5 09:51
试一下这个,看看速度能提高多少?没有改变你的算法,只是把F替换成当前时间的秒数
(defun hxcode(str / c ...

能改一下LEE MAC的那个MD5提速嘛
回复

使用道具 举报

发表于 2022-8-5 10:48 | 显示全部楼层
烟盒迷唇 发表于 2022-8-5 10:34
能改一下LEE MAC的那个MD5提速嘛

MD5最好用个dll来实现,lsp的太慢
回复

使用道具 举报

 楼主| 发表于 2022-8-5 10:54 | 显示全部楼层
baitang36 发表于 2022-8-5 10:48
MD5最好用个dll来实现,lsp的太慢

.NET的不会呀
回复

使用道具 举报

发表于 2022-8-5 12:38 | 显示全部楼层
这种混淆不可能快,建议你用vl-string-translate简单变换一下
回复

使用道具 举报

发表于 2022-8-5 16:27 | 显示全部楼层
这个混淆器影响不了太大,主要是MD5的影响!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 14:10 , Processed in 0.150735 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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