"Bash 랜덤 패스워드 생성"의 두 판 사이의 차이

79번째 줄: 79번째 줄:
*[[리눅스 패스워드 변경]]
*[[리눅스 패스워드 변경]]
*[[랜덤]]
*[[랜덤]]
*[[정규식 문자 클래스]]


==참고 자료==
==참고 자료==

2013년 11월 19일 (화) 23:02 판

random complex password generator
랜덤 패스워드 생성, 복잡한 암호 생성기, 복잡한 무작위 패스워드 생성, 복잡한 패스워드 만들기

1 PHP 소스코드

<!DOCTYPE html>
<meta charset='UTF-8'>
<title>복잡한 패스워드 생성기</title>
<h1>복잡한 패스워드 생성기</h1>
<p>대문자 2개 + 소문자 2개 + 숫자 2개 + 특수문자 2개</p>
<?php
$uppers = str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ');
$lowers = str_shuffle('abcdefghijklmnopqrstuvwxyz');
$numbers = str_shuffle('1234567890');
$specials = str_shuffle('!@#$%^&*()');
$complex_password = substr($uppers,-2).substr($lowers,-2).substr($numbers,-2).substr($specials,-2);
$more_complex_password = str_shuffle($complex_password);
echo "복잡한 패스워드: <input type='text' value='$complex_password'><br>";
echo "더 복잡한 패스워드: <input type='text' value='$more_complex_password'><br>";
?>

2 Bash 소스 1

UPPERS=`echo 'A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z' | tr ';' '\n' | shuf | xargs | tr -d ' '`
LOWERS=`echo 'a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z' | tr ';' '\n' | shuf | xargs | tr -d ' '`
NUMBERS=`echo '1;2;3;4;5;6;7;8;9;0' | tr ';' '\n' | shuf | xargs | tr -d ' '`
SPECIALS=`echo '!;@;#;$;%;^;&;*;(;)' | tr ';' '\n' | shuf | xargs | tr -d ' '`
COMPLEX_PASSWORD=${UPPERS:0:2}${LOWERS:0:2}${NUMBERS:0:2}${SPECIALS:0:2}
echo $COMPLEX_PASSWORD
실행예시
[root@jmnote ~]# UPPERS=`echo 'A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z' | tr ';' '\n' | shuf | xargs | tr -d ' '`
[root@jmnote ~]# LOWERS=`echo 'a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z' | tr ';' '\n' | shuf | xargs | tr -d ' '`
[root@jmnote ~]# NUMBERS=`echo '1;2;3;4;5;6;7;8;9;0' | tr ';' '\n' | shuf | xargs | tr -d ' '`
[root@jmnote ~]# SPECIALS=`echo '!;@;#;$;%;^;&;*;(;)' | tr ';' '\n' | shuf | xargs | tr -d ' '`
[root@jmnote ~]# COMPLEX_PASSWORD=${UPPERS:0:2}${LOWERS:0:2}${NUMBERS:0:2}${SPECIALS:0:2}
[root@jmnote ~]# echo $COMPLEX_PASSWORD
KFht37!&

3 Bash 소스 2

function randpass() { cat /dev/urandom | tr -cd "[:alnum:][:graph:]" | head -c ${1:-8}; echo; }
randpass
[root@jmnote ~]# function randpass() { cat /dev/urandom | tr -cd "[:alnum:][:graph:]" | head -c ${1:-8}; echo; }
[root@jmnote ~]# randpass
qUrwPpNx
[root@jmnote ~]# randpass
X]]#z`6H
[root@jmnote ~]# randpass 16
=U8@E3]S{.ooY?y#

4 관리자도 알 수 없는 랜덤 패스워드 지정

명령어
cat /dev/urandom | tr -cd "[:alnum:][:graph:]" | head -c 16 | passwd --stdin 계정명
실행예시
[root@jmnote ~]# cat /dev/urandom | tr -cd "[:alnum:][:graph:]" | head -c 16 | passwd --stdin testuser
Changing password for user testuser.
passwd: all authentication tokens updated successfully.

5 같이 보기

6 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}