标题: 请教:关于密码设定与密码验证的批处理。
[打印本页]
作者: lianjiang2004
时间: 2006-12-25 04:00
标题: 请教:关于密码设定与密码验证的批处理。
请教:关于密码设定与密码验证的批处理。
下面是我参考一些帖子写的一个密码设定与密码验证的批处理。
问题是,只要保存密码的文件_pwda被删除,也就没用了,请问有什么办法解决?
另外,这里输入时,密码是明码,有什么简单的办法就能以***的方式隐藏的?
****************************************************************
:pwd
set pwdam=0
If not Exist d:\gghost\temp\_pwda Goto pwd0
for,/f,"tokens=1",%%i,In (d:\gghost\temp\_pwda) Do (
set pwdam=%%i
)
:pwd0
cls
echo.
echo 密码设置
Echo.
echo [1] 软件管理员密码
echo [2] GRUB启动密码(MD5)
echo.
Echo [0] 返回主界面
Echo [x] 结 束
Echo -------------------------------------------------
Echo.
Set pwd=
Set /P pwd= 请选择要进行的操作,然后按回车:
If Not '%pwd%'=='' SET pwd=%pwd:~0,1%
If /I '%pwd%'=='1' Goto pwda
If /I '%pwd%'=='2' GOTO pwd2
If /I '%pwd%'=='0' GOTO BEGIN
If /I '%pwd%'=='x' GOTO exit
Goto pwd
:pwda
cls
Echo.
Echo.
Echo 设置管理员密码
Echo.
Echo 提示:1. 软件管理员密码请务必牢记,遗忘后将无法设置其它密码;
Echo 且不可自动卸载本软件。
Echo 2. 若直接回车,则不设置管理员密码。
Echo ---------------------------------------------------------
Echo 输入您要设定的管理员密码
Echo.
Set /P pwda_1=请输入:
If %pwda_1%pwda_1==pwda_1 Goto pwd
Echo.
Echo.
Echo 请再一次输入您的密码
Echo.
Set /P pwda_2=请再次输入:
If %pwda_2%pwda_2==pwda_2 Goto pwd
If Not %pwda_2%==%pwda_1% Echo.&&Echo 您两次输入的密码不一致,请重新输入&&Echo 请按任意键重新开始设置密码&&PAUSE >NUL&&Goto pwda
set pwda=%pwda_2%
grub\md5s.exe -d%pwda%>d:\gghost\temp\_pwda
Echo.
Echo.
Echo 密码设置完成,请牢记您的密码,按任意键返回 。。。
PAUSE>NUL
Goto pwd
:pwd2
if %pwdam%==0 goto pwd2a
Echo.
Echo.
Echo.
Set /P pwd2_0=请先输入管理员密码:
grub\md5s.exe -d%pwd2_0%>d:\gghost\temp\_ptemp2
for,/f,"tokens=1",%%i,In (d:\gghost\temp\_ptemp2) Do (
set pwd2_0m=%%i
)
del d:\gghost\temp\_ptemp2 >nul
If %pwd2_0m%==%pwdam% Goto pwd2a
cls
Echo.
Echo Sorry! 管理员密码错误,不可设置GRUB启动密码,按任意键返回 。。。
pause>nul
Goto pwd
:pwd2a
cls
Echo.
Echo 设置GRUB启动密码(MD5)
Echo.
......
Echo.
Echo.
Echo 密码设置完成,请牢记您的密码,按任意键返回 。。。
pause>nul
Goto pwd