Batch file 如何计算SET命令批的字符数并对其进行“加密”
我又需要帮助了。 这次我需要在某种程度上从命令集中计数字符,有什么办法吗? 这是我的代码,我需要将密码加密到*,并回显它。 这是我的密码:Batch file 如何计算SET命令批的字符数并对其进行“加密”,batch-file,encryption,Batch File,Encryption,我又需要帮助了。 这次我需要在某种程度上从命令集中计数字符,有什么办法吗? 这是我的代码,我需要将密码加密到*,并回显它。 这是我的密码: :REGISTER CLS SET /P USERNAME=Username: SET /P PASSWORD=Password: CLS ECHO Username: %USERNAME% ECHO Password: ******** <<<<< Here's where i wan't to "encrypt" the
:REGISTER
CLS
SET /P USERNAME=Username:
SET /P PASSWORD=Password:
CLS
ECHO Username: %USERNAME%
ECHO Password: ******** <<<<< Here's where i wan't to "encrypt" the password to *'s
SET /P CONFIRM_PASSWORD=Confirm password:
:MOREcodes
编辑以适应评论。将*s存储在变量中
@echo off
setlocal enableextensions enabledelayedexpansion
set "password=0123456789 <&^!**$."
set "maskedPassword="
for /f "delims=" %%a in (
'cmd /v:on /q /u /c"echo(^!password^!"^|more'
) do (
set "maskedPassword=!maskedPassword!*"
)
echo(!password!
echo(%maskedPassword%
很好,但是如何将*保存到变量?
@echo off
setlocal enableextensions disabledelayedexpansion
:: save value into password variable
set "password=0123456789 <&!**$."
:: echo value to console (to test length)
setlocal enabledelayedexpansion
echo(!password!
endlocal
:: echo *s for each character in password
for /f "delims=" %%a in (
'cmd /v:on /q /u /c"echo(!password!"^|more'
) do (set/p"=*"<nul)
@echo off
setlocal enableextensions enabledelayedexpansion
set "password=0123456789 <&^!**$."
set "maskedPassword="
for /f "delims=" %%a in (
'cmd /v:on /q /u /c"echo(^!password^!"^|more'
) do (
set "maskedPassword=!maskedPassword!*"
)
echo(!password!
echo(%maskedPassword%