中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:关于简单加密文本的批处理
作者:
标题: 请教:关于简单加密文本的批处理 上一主题 | 下一主题
nicesoft
初级用户





积分 98
发帖 47
注册 2007-1-28
状态 离线
『楼 主』:  请教:关于简单加密文本的批处理

我的代码如下:

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 ]

2007-6-12 15:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qingfushuan
高级用户





积分 502
发帖 327
注册 2006-12-30
状态 离线
『第 2 楼』:  

加密:


@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了啊

兄弟,你先搜索了在发新帖嘛,"请爱护版主的眼睛"

2007-6-12 16:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 3 楼』:  

批处理加密,基本无效果。
建议可以考虑采用对密码用MD5处理。这样即使看见密码,也不知道明码。比如
123456变成E10ADC3949BA59ABBE56E057F20F883E



Windows 一键还原
http://www.yjhy.com
2007-6-12 16:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
nicesoft
初级用户





积分 98
发帖 47
注册 2007-1-28
状态 离线
『第 4 楼』:  

只是简单加密就可以了,但需要在批处理中能还原成以下内容
name=user1
pwd=138260

用MD5处理后,不能原还.

2007-6-12 17:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 5 楼』:  

CONFIG.TXT看样子是个配置文件,可能程序会读取的,你不显示明文,程序都不认识了岂不是没意义。



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-12 17:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
nicesoft
初级用户





积分 98
发帖 47
注册 2007-1-28
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by baomaboy at 2007-6-12 05:53 PM:
CONFIG.TXT看样子是个配置文件,可能程序会读取的,你不显示明文,程序都不认识了岂不是没意义。

对啊,就是简单的加密,要求程序读取的时候自动还原出内容,所以不能用MD5,请指教!

2007-6-12 18:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 7 楼』:  

“程序”读的时候,程序又不知道你加密了它的配置文件,除非那个程序是你自己写的,如果是自己写的用了MD5有何妨只要能解密干吗还管简单还是复杂?



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-12 18:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 8 楼』:  

不能还原有何关系?只要输入密码后,再次转成MD5,进行比较校验就行了。一致就通过。



Windows 一键还原
http://www.yjhy.com
2007-6-12 21:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 9 楼』:  

不过是否有dos下把字符转成md5的工具?



Windows 一键还原
http://www.yjhy.com
2007-6-12 21:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
nicesoft
初级用户





积分 98
发帖 47
注册 2007-1-28
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by lianjiang2004 at 2007-6-12 09:33 PM:
不过是否有dos下把字符转成md5的工具?

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

2007-6-13 11:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: