找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 36357|回复: 11

[其他] 纯批处理实现输入密码时不显示(障眼法)

[复制链接]
发表于 2008-5-8 10:25:53 | 显示全部楼层 |阅读模式
纯 P 实现输入密码时不显示。 ( 障眼法)
代码思路来源与cn-dos的模拟线程。
http://www.cn-dos.net/forum/viewthread.php?tid=39880&fpage=1&highlight=%E7%BA%BF%E7%A8%8B
感觉似乎有点取巧,欢迎板砖 ^_^

改为滚动式的,大家看效果是否好点?
障眼法...... 让人看不清到底输入了什么。
  1. @echo off&color 1f
  2. title code 随风 @bbs.bathome.net 2008-05-08
  3. set "str=eaGOhrF+/.gvUsI\?52QKky1DZilnL3VPbH9ECjNm7S#t60Ap-TqwYXMB,Jzcd:uxofR@W48"
  4. if "%~1"=="loop" (
  5.   for /l %%a in (1 1 75) do call set "t=%%t%%"
  6.   for /l %%a in (1 1 70) do call set "ko= %%ko%%"
  7.   echo.&goto loop
  8. )
  9. subst z: "%cd%"
  10. start /b %~s0 loop
  11. cls&echo.&echo  请输入密码,输入过程将不显示输入内容。
  12. set /p code=
  13. subst z: /d
  14. cls&echo.&echo 你输入的密码是:%code%
  15. echo.&pause
  16. :loop
  17. if not exist z: exit
  18. set /p=%str% <nul
  19. set /p=%t%<nul
  20. for /l %%a in (1 1 500) do ver>nul
  21. set /p=%ko%<nul
  22. set /p=%t%<nul
  23. set /a w=%random%%%70+5,h=w+1
  24. call set str=%%str:~%w%,1%%%str:~-1%%%str:~0,%w%%%%%str:~%h%,-1%%
  25. goto loop
复制代码
显示*号,缺点是 密码明文会在首位闪现

:
  1. @echo off&color 1f
  2. title code 随风 @bbs.bathome.net 2008-05-08
  3. if "%~1"=="loop" (
  4.   for /l %%a in (1 1 70) do call set "t=%%t%%"
  5.   echo.&goto loop
  6. )
  7. subst z: "%cd%"
  8. start /b %~s0 loop
  9. cls&echo.&echo  请输入密码,输入过程将不显示输入内容。
  10. set /p code=
  11. subst z: /d
  12. cls&echo.&echo 你输入的密码是:%code%
  13. echo.&pause
  14. :loop
  15. if not exist z: exit
  16. set /p= **************<nul
  17. set /p=%t%<nul
  18. for /l %%a in (1 1 500) do ver>nul
  19. set /p=               <nul
  20. set /p=%t%<nul
  21. goto loop
复制代码
发表于 2008-5-8 12:04:44 | 显示全部楼层
提几点建议:
1、粗略地实现了 密码输入
2、模拟的不是太象
3、牺牲电脑资源..
发表于 2008-5-8 12:08:50 | 显示全部楼层
不过此法确实可以突破"set /p"的等待限制!
 楼主| 发表于 2008-5-9 14:31:21 | 显示全部楼层
牺牲电脑资源只是暂时的,当输入完成后就不会了。
输入时密码明文会闪现,把*号改为滚动的字母加数字,可以更好“隐藏”闪现的密码
发表于 2008-7-13 18:01:26 | 显示全部楼层

回复 4楼 的帖子

第一个方法不错~!
就是我太菜了,看不懂~
人士间最大的痛苦莫过于此。。。。。
发表于 2009-12-3 19:40:59 | 显示全部楼层
模仿一个:
  1. @echo off&color 1f
  2. title code 随风 @bbs.bathome.net 2008-05-08
  3. if "%~1"=="loop" (
  4.   for /l %%a in (1 1 75) do call set "t=%%t%%"
  5.   for /l %%a in (1 1 70) do call set "ko= %%ko%%"
  6.   echo.&goto loop
  7. )
  8. subst z: "%cd%"
  9. start /b %~s0 loop
  10. echo.&echo;
  11. set /p code=  请输入密码:
  12. subst z: /d
  13. echo.&echo 你输入的密码是:%code%
  14. echo.&pause
  15. :loop
  16. (if not exist z: exit
  17. set /p=*<nul
  18. goto loop)
复制代码

评分

参与人数 1PB +2 收起 理由
radem + 2 很不错,要是没有多了个*完美!

查看全部评分

发表于 2010-7-11 21:26:08 | 显示全部楼层
Vista显示正常不?
发表于 2010-7-12 07:37:04 | 显示全部楼层
啊啊啊。杀了你....我的QQ,VB,VC++的图标,还有360安全卫士的全没了
发表于 2010-7-12 10:51:17 | 显示全部楼层
可以用choice试下,不过限制是密码只能是 a-zA-Z0-9,以及ASCII码128-250的字符
  1. @echo off
  2. set /p=请输入密码,以a结束:<nul
  3. :loop
  4. choice /C abcdefghijklmnopqrstuvwxyz /N >nul
  5. if %ERRORLEVEL% equ 1 goto :out
  6. set /p=*<nul
  7. goto :loop


  8. :out
  9. echo ok!
  10. pause>nul
复制代码

[ 本帖最后由 caruko 于 2010-7-12 10:56 编辑 ]
发表于 2010-7-12 14:32:34 | 显示全部楼层
运行完Z盘就不见啦,还有重启后Z盘也就不见了。图标什么都没问题。
发表于 2010-7-17 11:17:12 | 显示全部楼层
Vista运行不正常啊~~~求助~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:09 , Processed in 0.020635 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表