cls
@ECHO OFF
title Folder Private
if EXIST "HTG Locker" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Are you sure you want to lock the folder(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "HTG Locker"
attrib +h +s "HTG Locker"
echo Folder locked
goto End
:UNLOCK
echo Enter password to unlock folder
set/p "pass=>"
if NOT %pass%== 12345 goto FAIL
attrib -h -s "HTG Locker"
ren "HTG Locker" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Private
echo Private created successfully
goto End
:End
上面的代码是一个在 Windows 7 中使用 DOS 命令隐藏文件夹的 .bat 文件。在上面的代码中,右键单击并选择编辑选项时显示我的密码(12345)。
如何将此密码设为 md5 或加密方式或使此密码不可见?我尝试过多次将该字符串更改为 md5,但不起作用。有没有其他方法可以使用加密密码保护文件夹,而无需使用第三方工具使用 dos
答案1
让密码不可见是没有意义的。原因是密码会增加没有什么安全性。实际上,整个批处理文件都是没有意义的。
我们可以假设您设置此功能是为了防止有权访问该计算机的其他人查看文件。但是,他们只需查看批处理文件即可看到您正在使用命令attrib
创建隐藏文件夹。他们只需 attrib
在命令提示符中键入,他们就可以看到所有隐藏和系统文件和文件夹,或者只需在资源管理器中打开“显示隐藏文件和文件夹”。
最好使用基于帐户的 ACL,或者如果您真的很偏执,那么可以使用真正的加密程序。
答案2
我相信我找到了你想要的东西:
@echo 关闭 echo 输入密码: 设置/p“通过=>” echo %pass%> pword.tmp 对于/F %%M in ('md5sum pword.tmp') 执行( 删除密码.tmp 如果不是 %%M==03043fe01867a075a47e2e6f08ddf7fa ( echo 密码无效。 退出/b ) ) echo 成功!
您知道如何从控制台读取密码。遗憾的是,我必须将密码写入文件。(如果有这样的目录,请尝试使用除您之外没有人可以访问的目录。)然后,我在文件上运行命令,并使用 kludgy循环(它应该只迭代一次)md5sum
捕获输出(即 MD5 校验和)。我应该能够做到这一点,这会更安全,更少不安全,但我无法让它工作。然后将用户输入的密码哈希值与您要接受的密码的预先计算的哈希值进行比较。%%M
for
echo %pass% | mdsum
03043fe01867a075a47e2e6f08ddf7fa
是“Swordfish”的 MD5 哈希值。
答案3
您可以使用自己的变量。在开头添加此代码。
Set 1= apple
Set 2= ball
Set 3= cat
Set 4= dog
Set 5= elephant
在密码空间中写入
%apple%%ball%%cat%%dog%%elephant%
你可以使用这个,这样你就有了一个加密密码。你也可以用其他词代替这些词