中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 23:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:关于简单加密文本的批处理 查看 851 回复 9
楼 主 请教:关于简单加密文本的批处理 发表于 2007-06-12 15:20 ·  中国 广东 广州 番禺区 电信
初级用户
积分 98
发帖 47
注册 2007-01-28 05:39
19年会员
UID 77912
性别 男
状态 离线
我的代码如下:

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 发表于 2007-06-12 16:07 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
19年会员
UID 74981
性别 男
状态 离线
加密:


@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 发表于 2007-06-12 16:30 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
批处理加密,基本无效果。
建议可以考虑采用对密码用MD5处理。这样即使看见密码,也不知道明码。比如
123456变成E10ADC3949BA59ABBE56E057F20F883E
Windows 一键还原
http://www.yjhy.com
4 发表于 2007-06-12 17:25 ·  中国 广东 广州 番禺区 电信
初级用户
积分 98
发帖 47
注册 2007-01-28 05:39
19年会员
UID 77912
性别 男
状态 离线
只是简单加密就可以了,但需要在批处理中能还原成以下内容
name=user1
pwd=138260

用MD5处理后,不能原还.
5 发表于 2007-06-12 17:53 ·  中国 江苏 南京 电信
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
CONFIG.TXT看样子是个配置文件,可能程序会读取的,你不显示明文,程序都不认识了岂不是没意义。
6 发表于 2007-06-12 18:29 ·  中国 广东 广州 番禺区 电信
初级用户
积分 98
发帖 47
注册 2007-01-28 05:39
19年会员
UID 77912
性别 男
状态 离线
Originally posted by baomaboy at 2007-6-12 05:53 PM:
CONFIG.TXT看样子是个配置文件,可能程序会读取的,你不显示明文,程序都不认识了岂不是没意义。



对啊,就是简单的加密,要求程序读取的时候自动还原出内容,所以不能用MD5,请指教!
7 发表于 2007-06-12 18:58 ·  中国 江苏 南京 电信
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
“程序”读的时候,程序又不知道你加密了它的配置文件,除非那个程序是你自己写的,如果是自己写的用了MD5有何妨只要能解密干吗还管简单还是复杂?
8 发表于 2007-06-12 21:31 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
不能还原有何关系?只要输入密码后,再次转成MD5,进行比较校验就行了。一致就通过。
Windows 一键还原
http://www.yjhy.com
9 发表于 2007-06-12 21:33 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
不过是否有dos下把字符转成md5的工具?
Windows 一键还原
http://www.yjhy.com
10 发表于 2007-06-13 11:32 ·  中国 广东 广州 番禺区 电信
初级用户
积分 98
发帖 47
注册 2007-01-28 05:39
19年会员
UID 77912
性别 男
状态 离线
Originally posted by lianjiang2004 at 2007-6-12 09:33 PM:
不过是否有dos下把字符转成md5的工具?

谢谢你的回复,在DOS下,有md5工具可用。
我没有把用途说清楚,不好意思.
那是一个开机自动运行的批处理,配置文件里的信息是用来自动连接服务器用的.所以不能用MD5加密.因为批处理要读取里面的密码,用来连接服务器.还望指教.
论坛跳转: