KSH 비밀번호 생성기

KSH 비밀번호 생성기

생성된 비밀번호에 다음 특수 문자가 모두 포함되어 있는지 어떻게 확인할 수 있습니까 ?!/=\?

현재 나는 다음을 사용하고 있습니다 :

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

노트:

  1. LC_ALL=C시스템의 로케일에 따라 tr오류가 발생할 수 있기 때문에 추가했습니다.잘못된 바이트 시퀀스바이너리 데이터(/dev/urandom에서 생성됨)가 제공되는 경우.

  2. cat /dev/urandom리디렉션을 사용 <file command하거나 대신 command <file.

관련 정보