标题: [其他] 纯批处理实现输入密码时不显示(障眼法) [打印本页]
作者: 随风 时间: 2008-5-8 10:25 标题: 纯批处理实现输入密码时不显示(障眼法)
纯 P 实现输入密码时不显示。 ( 障眼法)
代码思路来源与cn-dos的模拟线程。
http://www.cn-dos.net/forum/viewthread.php?tid=39880&fpage=1&highlight=%E7%BA%BF%E7%A8%8B
感觉似乎有点取巧,欢迎板砖 ^_^
改为滚动式的,大家看效果是否好点?
障眼法...... 让人看不清到底输入了什么。- @echo off&color 1f
- title code 随风 @bbs.bathome.net 2008-05-08
- set "str=eaGOhrF+/.gvUsI\?52QKky1DZilnL3VPbH9ECjNm7S#t60Ap-TqwYXMB,Jzcd:uxofR@W48"
- if "%~1"=="loop" (
- for /l %%a in (1 1 75) do call set "t=%%t%%"
- for /l %%a in (1 1 70) do call set "ko= %%ko%%"
- echo.&goto loop
- )
- subst z: "%cd%"
- start /b %~s0 loop
- cls&echo.&echo 请输入密码,输入过程将不显示输入内容。
- set /p code=
- subst z: /d
- cls&echo.&echo 你输入的密码是:%code%
- echo.&pause
- :loop
- if not exist z: exit
- set /p=%str% <nul
- set /p=%t%<nul
- for /l %%a in (1 1 500) do ver>nul
- set /p=%ko%<nul
- set /p=%t%<nul
- set /a w=%random%%%70+5,h=w+1
- call set str=%%str:~%w%,1%%%str:~-1%%%str:~0,%w%%%%%str:~%h%,-1%%
- goto loop
复制代码
显示*号,缺点是 密码明文会在首位闪现
:- @echo off&color 1f
- title code 随风 @bbs.bathome.net 2008-05-08
- if "%~1"=="loop" (
- for /l %%a in (1 1 70) do call set "t=%%t%%"
- echo.&goto loop
- )
- subst z: "%cd%"
- start /b %~s0 loop
- cls&echo.&echo 请输入密码,输入过程将不显示输入内容。
- set /p code=
- subst z: /d
- cls&echo.&echo 你输入的密码是:%code%
- echo.&pause
- :loop
- if not exist z: exit
- set /p= **************<nul
- set /p=%t%<nul
- for /l %%a in (1 1 500) do ver>nul
- set /p= <nul
- set /p=%t%<nul
- goto loop
复制代码
作者: youxi01 时间: 2008-5-8 12:04
提几点建议:
1、粗略地实现了 密码输入
2、模拟的不是太象
3、牺牲电脑资源..
作者: youxi01 时间: 2008-5-8 12:08
不过此法确实可以突破"set /p"的等待限制!
作者: 随风 时间: 2008-5-9 14:31
牺牲电脑资源只是暂时的,当输入完成后就不会了。
输入时密码明文会闪现,把*号改为滚动的字母加数字,可以更好“隐藏”闪现的密码
作者: 骚鸡 时间: 2008-7-13 18:01 标题: 回复 4楼 的帖子
第一个方法不错~!
就是我太菜了,看不懂~
人士间最大的痛苦莫过于此。。。。。
作者: netbenton 时间: 2009-12-3 19:40
模仿一个:- @echo off&color 1f
- title code 随风 @bbs.bathome.net 2008-05-08
- if "%~1"=="loop" (
- for /l %%a in (1 1 75) do call set "t=%%t%%"
- for /l %%a in (1 1 70) do call set "ko= %%ko%%"
- echo.&goto loop
- )
- subst z: "%cd%"
- start /b %~s0 loop
- echo.&echo;
- set /p code= 请输入密码:
- subst z: /d
- echo.&echo 你输入的密码是:%code%
- echo.&pause
- :loop
- (if not exist z: exit
- set /p=*<nul
- goto loop)
复制代码
作者: BillGates 时间: 2010-7-11 21:26
Vista显示正常不?
作者: canyuexiaolang 时间: 2010-7-12 07:37
啊啊啊。杀了你....我的QQ,VB,VC++的图标,还有360安全卫士的全没了
作者: caruko 时间: 2010-7-12 10:51
可以用choice试下,不过限制是密码只能是 a-zA-Z0-9,以及ASCII码128-250的字符
- @echo off
- set /p=请输入密码,以a结束:<nul
- :loop
- choice /C abcdefghijklmnopqrstuvwxyz /N >nul
- if %ERRORLEVEL% equ 1 goto :out
- set /p=*<nul
- goto :loop
-
-
- :out
- echo ok!
- pause>nul
复制代码
[ 本帖最后由 caruko 于 2010-7-12 10:56 编辑 ]
作者: BillGates 时间: 2010-7-12 14:32
运行完Z盘就不见啦,还有重启后Z盘也就不见了。图标什么都没问题。
作者: BillGates 时间: 2010-7-17 11:17
Vista运行不正常啊~~~求助~
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |