![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 22:47 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教:关于简单加密文本的批处理 |
| 可打印版本 849 / 9 |
| 第1楼 nicesoft | 发表于 2007-06-12 15:20 |
| 初级用户 发帖 47 积分 98 | |
|
请教:关于简单加密文本的批处理 我的代码如下:
echo name=user1 >c:\CONFIG.txt echo pwd=138260 >c:\CONFIG.txt 我不希望在CONFIG.TXT里显示明文,用简单的加密(如ASCII码加1),并可以还原.望高手指点,谢谢 [ Last edited by nicesoft on 2007-6-12 at 03:40 PM ] |
|
| 第2楼 qingfushuan | 发表于 2007-06-12 16:07 |
| 高级用户 发帖 327 积分 502 | |
|
加密:
@echo off :: Code by pengfei CMD@XP :: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=22254 color 27 :start cls echo ******************************************************************************* echo * * echo * BAT 加 密 最 终 版 * echo * * echo ******************************************************************************* echo. echo. echo BAT加密最终版为"BAT加密工具"的更新版本, 较上一版加密工具而言有诸多优势: echo. echo ★ 可以一次性成功加密任何批处理文件, 更省事. echo. echo ★ 可以由您输入任意需要加密的批处理, 加密灵活性更大. echo. echo ★ 能够自动判断错误输入, 更加人性化. echo. echo 说明: 在下面输入需要加密的批处理文件, 直接输入批处理文件名为加密当前目录下的BAT,也可以带路径指定任意BAT. 当前目录下生成的encrypt.bat文件即为加密的批处理. echo. echo 作者:木林森 QQ:573381312 BYE echo. echo. echo. set /p file=请输入需要加密的批处理后按回车键(q=退出): if "%file%"=="q" goto quit echo %file%|findstr /i "\.bat$">nul && goto go echo %file%|findstr /i "\.cmd$">nul && goto go cls echo ============== echo 请正确输入! echo ============== echo. echo. echo 按任意键重新输入...... pause>nul goto start :go if not exist "%file%" goto newly if exist encrypt.bat copy encrypt.bat encryptbak.bat echo %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a >"%tmp%\encrypt.tmp" echo cls>>"%tmp%\encrypt.tmp" type "%file%">>"%tmp%\encrypt.tmp" setlocal enabledelayedexpansion for %%i in ("%tmp%\encrypt.tmp") do ( echo %%~zi >nul 2>nul set size=%%~zi set num=!size:~-1! set /a mod=!num!%%2 if !mod! equ 0 (goto even) else (goto odd) ) :even copy "%tmp%\encrypt.tmp" encrypt.bat del "%tmp%\encrypt.tmp" cls echo ========================== echo 恭喜你, 批处理加密成功^^! echo ========================== echo. echo. echo 按任意键退出...... pause>nul goto quit :odd echo. >>"%tmp%\encrypt.tmp" copy "%tmp%\encrypt.tmp" encrypt.bat del "%tmp%\encrypt.tmp" cls echo ========================== echo 恭喜你, 批处理加密成功^^! echo ========================== echo. echo. echo 按任意键退出...... pause>nul goto quit :newly cls echo ================================ echo 找不到批处理文件, 请重新输入! echo ================================ echo. echo. echo 按任意键开始...... pause>nul goto start :quit exit 解密: ::qingfushuan cn-dos xp&cmd 2007-06-08 @echo off mode con: cols=80 lines=25 :index color 27 cls echo ╭───────────────╮ echo │ │ echo ╭─────────┤ BAT 解 密 工 具 ├─────────╮ echo │ │ │ │ echo │ ╰───────────────╯ │ echo │ │ echo │ │ echo │ 本工具用来对混淆文本编码类型的加密批处理进行解密! │ echo │ │ echo │ 在下面填入需要解密的批处理按回车键即可. │ echo │ │ echo │ 建议直接把待解密的批处理文件拖曳至本窗口释放. │ echo │ │ echo │ 解密成功后会在本程序目录下生成"new_待解密文件名.文件后缀名" │ echo │ 格式的文件. │ echo │ │ echo │ 注意: 如果本目录下存在"new_待解密文件名.文件后缀名"的文件, │ echo │ 将会被替换. │ echo │ │ echo │ │ echo ╰───────────────────────────────────╯ echo. set route=%cd% set ravel= set /p ravel= 请输入要解密的批处理: set "ravel=%ravel:"=%" if /i "%ravel:~-4%"==".bat" if exist "%ravel%" goto go if /i "%ravel:~-4%"==".cmd" if exist "%ravel%" goto go cls echo ╭──────────╮ echo ╭─────────┤ 文 件 错 误 ├────────╮ echo │ ╰──────────╯ │ echo │ │ echo │ 指定文件不存在或文件不是批处理类型! │ echo │ │ echo │ 按任意键重新输入... │ echo │ │ echo ╰─────────────────────────────╯ echo. echo. echo 按任意键重新输入... pause >nul goto index :go for /f "tokens=*" %%c in ("%ravel%") do ( cd /d "%%~dpc" if exist "%route%\new_%%~nxc" attrib -s -h -r -a "%route%\new_%%~nxc" echo author:pengfei@www.cn-dos.net>"%route%\new_%%~nxc" for /f "tokens=*" %%i in (%%~nxc) do ( echo %%i>>"%route%\new_%%~nxc" ) ) cls echo ╭──────────╮ echo ╭─────────┤ 解 密 成 功 ├────────╮ echo │ ╰──────────╯ │ echo │ │ echo │ 恭喜, 批处理解密成功! │ echo │ │ echo ╰─────────────────────────────╯ echo. echo. echo 按任意键退出... pause >nul exit 在论坛搜索:加密就ok了啊 兄弟,你先搜索了在发新帖嘛,"请爱护版主的眼睛" |
|
| 第3楼 lianjiang2004 | 发表于 2007-06-12 16:30 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
批处理加密,基本无效果。
建议可以考虑采用对密码用MD5处理。这样即使看见密码,也不知道明码。比如 123456变成E10ADC3949BA59ABBE56E057F20F883E |
|
| 第4楼 nicesoft | 发表于 2007-06-12 17:25 |
| 初级用户 发帖 47 积分 98 | |
|
只是简单加密就可以了,但需要在批处理中能还原成以下内容
name=user1 pwd=138260 用MD5处理后,不能原还. |
|
| 第5楼 baomaboy | 发表于 2007-06-12 17:53 |
| 银牌会员 发帖 554 积分 1,513 | |
|
CONFIG.TXT看样子是个配置文件,可能程序会读取的,你不显示明文,程序都不认识了岂不是没意义。
|
|
| 第6楼 nicesoft | 发表于 2007-06-12 18:29 |
| 初级用户 发帖 47 积分 98 | |
Originally posted by baomaboy at 2007-6-12 05:53 PM: 对啊,就是简单的加密,要求程序读取的时候自动还原出内容,所以不能用MD5,请指教! |
|
| 第7楼 baomaboy | 发表于 2007-06-12 18:58 |
| 银牌会员 发帖 554 积分 1,513 | |
|
“程序”读的时候,程序又不知道你加密了它的配置文件,除非那个程序是你自己写的,如果是自己写的用了MD5有何妨只要能解密干吗还管简单还是复杂?
|
|
| 第8楼 lianjiang2004 | 发表于 2007-06-12 21:31 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
不能还原有何关系?只要输入密码后,再次转成MD5,进行比较校验就行了。一致就通过。
|
|
| 第9楼 lianjiang2004 | 发表于 2007-06-12 21:33 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
不过是否有dos下把字符转成md5的工具?
|
|
| 第10楼 nicesoft | 发表于 2007-06-13 11:32 |
| 初级用户 发帖 47 积分 98 | |
Originally posted by lianjiang2004 at 2007-6-12 09:33 PM: 谢谢你的回复,在DOS下,有md5工具可用。 我没有把用途说清楚,不好意思. 那是一个开机自动运行的批处理,配置文件里的信息是用来自动连接服务器用的.所以不能用MD5加密.因为批处理要读取里面的密码,用来连接服务器.还望指教. |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |