생성된 비밀번호에 다음 특수 문자가 모두 포함되어 있는지 어떻게 확인할 수 있습니까 ?!/=\
?
현재 나는 다음을 사용하고 있습니다 :
pwd_usr["$i"]=`cat /dev/urandom|tr -dc "a-zA-Z0-9-_\?\!\=\/\"|fold -w 15|head -n 1`
하지만 생성된 비밀번호 중 일부에는 내가 원하는 특수 문자가 전혀 포함되어 있지 않습니다.
답변1
grep
특수 문자가 포함된 비밀번호를 찾기 위해 생성된 비밀번호를 필터링하는 명령을 추가합니다 .
LC_ALL=C </dev/urandom tr -cd '_a-zA-Z0-9-\?\!\=\/' | \
fold -w15 | grep '[\?\!\=\/]' | head -1
노트:
LC_ALL=C
시스템의 로케일에 따라tr
오류가 발생할 수 있기 때문에 추가했습니다.잘못된 바이트 시퀀스바이너리 데이터(/dev/urandom에서 생성됨)가 제공되는 경우.cat /dev/urandom
리디렉션을 사용<file command
하거나 대신command <file
.