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

24번째 줄: 24번째 줄:
*예제: http://jmnote.com/php/pass_gen.php
*예제: http://jmnote.com/php/pass_gen.php


==Bash 소스코드==
==Bash 소스 1==
<source lang='bash'>
<source lang='bash'>
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 ' '`
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 ' '`
43번째 줄: 43번째 줄:
[root@jmnote ~]# echo $COMPLEX_PASSWORD
[root@jmnote ~]# echo $COMPLEX_PASSWORD
KFht37!&
KFht37!&
</source>
==Bash 소스 2==
<source lang='bash'>
function randpass() { cat /dev/urandom | tr -cd "[:alnum:][:graph:]" | head -c ${1:-8}; echo; }
</source>
</source>



2012년 11월 20일 (화) 00:12 판

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; }

4 같이 보기

5 참고 자료

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