캐릭터에 방지하기 위해 자동으로 생성되는 암호
-
09-06-2019 - |
문제
나를 생성해야 몇몇 비밀번호,나를 피하려고 문자는 혼동될 수 있습니다.은 거기에 최종 목록의 문자가 피해야?현재 목록
il10o8B3Evu![]{}
다른 쌍의 문자는 혼동하기 쉽?특수 문자를 제한 자신을 따라 사람들에게 숫자 키,하지만 내가 알기에는 이에 따라 다릅니다 당신의 키보드 국!
기수로 질문에,나는 나의 암호를'wordlike'do 당신이 선호하는 알고리즘에 대한니까?
감사합니다:)
해결책
여기에는 문자집합을 깁슨 스티브를 사용에 대한 그의 "완벽한 종이는"비밀번호 시스템입니다.그들은"문자를 허용하는"보다는"문"을 피하기 위해,그러나 그들이 보일 거리에 당신이 무엇을 원하는:
표준 64 자
!#%+23456789:=?@ABCDEFGHJKLMNPRS
TUVWXYZabcdefghijkmnopqrstuvwxyz
더 큰 설정의 88 자
!"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHJKLMNO
PRSTUVWXYZ[\]^_abcdefghijkmnopqrstuvwxyz{|}~
에 대한 발음 할 수 있는 암호,나는 익숙하지 않은 알고리즘은 아니지만 당신은 수도에서 보고 싶 APG 고 pwgen 하는 것으로 시작합니다.
다른 팁
내가 선호하는 방법은 단어 목록 3,4,5 편지를 단어입니다.를 선택한 후에 적어도 2 개의 사람들,장소는 임의의 2 자리수거나 특별한 기호(%&*@#$)사이의 각 단어입니다.하려는 경우에 활용할 수 있는 최대 하나 캐릭터당 단어입니다.
에 따라 강도의 요구 사항을 종료와 함께 기억하기 쉬운 소통 암호를 다음과 같:
- 레몬%데스크
- 종이&boy32hat
마음에 때때로 당신은 흥미로운 또는 부적절한 조합의 말씀(나는 당신이 당신의 상상력을 사용하).나는 일반적으로 버튼을의 생성을 수 있도록 새로운 비밀번호 중 하나에 해당하는 경우 제시 싫어.
원칙적으로만 사용하는 기호를 사람들이 일반적으로 이름을 알고 있습니다.에 우리에게 표준 키보드 내가 피할 것~`/\^
나는 생각이 더 대답하는 라이더 질문보다 당신의 주요 질문입니다...
행운을 빕니다!
읽기 선택하는 안전한 암호.
하나의 재미있는 재미있는 이야기서 거기:에 대한 더 안전한 암호 확인,일부호 및 특수 문자를 나타납니다.균열 검사 프로그램에서 그들을 위해 시작과 끝납니다.
추가 짐의 응답을 사용할 수도 있습 단어 목록을 임의로 대체하는 특정 문자와 기호(는@한,A0(zero)를 O 또는 5 대 S)및/또는 제거하 모음에서 단어입니다.
- lmn%데스크
- p@당&b0y32H@t
여전히 주로 인간이 읽을 수 있습니다.
또 다른 옵션으로 사용할 수 있습니다 monospace/터미널 글꼴과 같은 택배를 인쇄하기 위한 암호를 암호화합니다.유사한 문자해야 더 많이 구별하는 방법입니다.
에 대한 국제 클라이언트는 몇 년 전 나이를위한,안전한 암호는 다음의 메일로 통합하여 문서를 클라이언트와 우편 발송을 받는 사람이 40countries.무엇을 모르고체었에 사용되는 문서 내가 사용하는 문자의 목록을 좋아하는 스티브 깁슨 64-자 설정의 혼란을 제거하기 위해 사이에 유사한 문양을 사용할 수 있습니다.
하는 결과 암호를 발음 할 수 있고,따라서 기억하기 쉽,나는 짝 자음과 모음,함께 일부 자음 겹자(sh,th,wh,etc.) 믹스에 추가했습니다.
의 가능성을 줄이기 위해 부적절하거나 공격적인 단어에서 생성되는(영어 또는 받는 사람의 언어),나이 제한 실행의 연속된 문자 알파,두께 숫자 또는 문자 초래시키:
Es4tU$sA6
wH@cY8Go2
다시 찾고 내는 방법,지금 내가 있다는 것을 알고 개선하는 곳이 부적절하다고 판단되는 알고리즘이 있습니다.을 사용하여 규정 일부 공격적인 단어는 가능한 지금 하는 일부라비아 숫자와 문장은 대체에 대한 편지입니다.
에 대한 읽을 수 있는 암호,나는 최근에 사용되는 PHP 스크립트를 매우 유사하다.그것은 잘했습니다.여 암호하기 위하여 려고 하고 있지 않다 믿을 수 없을만큼 안전한(그들이는 경향이 있어요 사전 공격)지만,memorisable,또는 적어도 읽을 수 있는,비밀번호한 옵션도 지정할 수 있습니다.그러나,이 기능을 사용할 수 없으로,그것의 더한 그림에 무엇보다.
function generatePassword($syllables = 2, $use_prefix = true)
{
// Define function unless it is already exists
if (!function_exists('arr'))
{
// This function returns random array element
function arr(&$arr)
{
return $arr[rand(0, sizeof($arr)-1)];
}
}
// Random prefixes
$prefix = array('aero', 'anti', 'auto', 'bi', 'bio',
'cine', 'deca', 'demo', 'dyna', 'eco',
'ergo', 'geo', 'gyno', 'hypo', 'kilo',
'mega', 'tera', 'mini', 'nano', 'duo',
'an', 'arch', 'auto', 'be', 'co',
'counter', 'de', 'dis', 'ex', 'fore',
'in', 'infra', 'inter', 'mal',
'mis', 'neo', 'non', 'out', 'pan',
'post', 'pre', 'pseudo', 'semi',
'super', 'trans', 'twi', 'vice');
// Random suffixes
$suffix = array('dom', 'ity', 'ment', 'sion', 'ness',
'ence', 'er', 'ist', 'tion', 'or',
'ance', 'ive', 'en', 'ic', 'al',
'able', 'y', 'ous', 'ful', 'less',
'ise', 'ize', 'ate', 'ify', 'fy', 'ly');
// Vowel sounds
$vowels = array('a', 'o', 'e', 'i', 'y', 'u', 'ou', 'oo', 'ae', 'ea', 'ie');
// Consonants
$consonants = array('w', 'r', 't', 'p', 's', 'd', 'f', 'g', 'h', 'j',
'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm', 'qu');
$password = $use_prefix?arr($prefix):'';
$password_suffix = arr($suffix);
for($i=0; $i<$syllables; $i++)
{
// selecting random consonant
$doubles = array('n', 'm', 't', 's');
$c = arr($consonants);
if (in_array($c, $doubles)&&($i!=0)) { // maybe double it
if (rand(0, 2) == 1) // 33% probability
$c .= $c;
}
$password .= $c;
//
// selecting random vowel
$password .= arr($vowels);
if ($i == $syllables - 1) // if suffix begin with vovel
if (in_array($password_suffix[0], $vowels)) // add one more consonant
$password .= arr($consonants);
}
// selecting random suffix
$password .= $password_suffix;
return $password;
}
서(전기 엔지니어링,techie)대학원,모든 컴퓨터 계정으로 초기화 암호,나는 가정들에 의해 생성되는 표준 리눅스 유틸리티입니다.그들이 구성되어 세 임의의 음절의 소문자로서 각 음절이다.결과 합리적으로 안전하(순서에 수십억의 가능한 조합의)아직 이렇게 발음 수있는 나는 아직도 사용 일부의 사람들을 통해 암호를 나중에 년간.제임스의 예은 다양한 데모입니다.
에 댓글을 암호를 일반적으로,네트워크보안 전문적인:그들은 끔찍한 여러 가지 이유로,including:
일반적으로 쉽게 파손이나 소셜 엔지니어링 또는 공격 소프트웨어,특히 알고 있는 경우 아무것도 에 대한 대상입니다.
예제 1: 나는 최근하는 데 필요한 암호를 수정된 기술 문서입니다.보고서 날짜,나는 우리의 기술 작가에 레지던스에서 시간 입력하는 첫 번째 단어는 나의 마음에 들어가고,즉시 해제합니다.
예제 2: 표준 암호 해독 프로그램을 허용 크기의 집합을 지정한 규칙에서 작동하는 사용자가 제공한 사전입니다.그것의 사소한 대체하는 특정 문자와 함께$ymb01$나로 번역하 1337,etc.
"안전한"비밀번호되지 않습니다.을 주어 투명한 암호의 수는 대부분의 사람들을 기억해야,가장 일반적인 방법""기억"강"password"와 같은 a4$N!8_q"그것을 작성하는 것입에는 종이(또는 스토어에서 그것은 텍스트 파일)입니다.'안 그런 말했다.
필요할 경우 정말 보안 인증 multi-factor (나 두 가지 요소 는)산업을 허용 메커니즘이 있습니다."두 요인은"일반적으로 무언가를 당신 가 (예:액세스 카드)그리고 당신이 무언가 알 그것을 가능하게 하는(PIN 등).둘 다 작동하지 않고 다른--해야 합니다.
한편,고려한 수준의 보안 당신은 정말 필요합니다.무엇을 보호하고 있는가?나는 어떻게 나쁜 나쁜 사람""그것을 얻을하려고하는 경우 그 결과는 무엇인가가?기회는,"그@비밀!"보다 더 좋은 충분합니다.:-)
내가 사랑하지 않는 단어 목록 접근 방식이다.예를 들어,/usr/share/dict/words OSX 에서,있 5110 4-자 단어입니다.를 사용하여 그들의 두 가지로 구분 캐릭터 생산~600M 합니다.그러나 사용한 경우 캐릭터 설정을 직접 강력한 임의의 번호 생성기 거래되고 있는데,88^9 가능한 암호,3.16e+17 조합.
어느 쪽이든 가능성에 대한 공격을 이 시스템은 것에 대해 임의의 수는 발전기,그래서 사용하고 있는지 확인 강력한 암호 하나입니다.당신이 사용하는 경우 PHP 의 표준 랜드 기능,그것을 공격에 의해 등록과정 수천의 비밀번호 샘플 RNG 상태 및 예측의 나머지 RNG 상태,수를 줄이는 가능한 암호 공격자 요구를 테스트합니다.
시작 접근될 수 있습을 생성하는 대부분의 유효한 영어로 음절,혼합,다음에서 던져 텍스트>l33t 변환입니다.가 있었던 작업을 완료 세대에 자연의 언어 문법,그래서 한 사람의 도움이 될 수 있습니다.
E.g.아 ul ing 은 모든 유효한 음절 또는 그것에 가까...을 섞->Ingulah...l33t it->1ngu4h.그것은 최고의 거기에 있습니까?Nah.하지만 적어도 그것은 semipronouncable(를 말하는 경우 l33t)고 더 많은 계산이 안전합니다.
에 관심이 있는 경우를 생성 발음 할 수 있는 암호가 있 C#포트에서:http://www.hoogervorst.ca/arthur/?attachment_id=1708
코드 내에서,당신은 유용한 링크를 자세히 알아 봅니다.http://www.multicians.org/thvv/gpw.html
행운을 빕니다.스
function random_readable_pwd($length=12){
// special characters
$sym="!\"§$%&/()={[]}\,.-_:;@>|";
// read words from text file to array
$filename="special.txt";
if (!file_exists($filename)) { die('File "'.$filename.'" is not exists!'); }
$lines = file($filename);
foreach ($lines as $line_num => $line) {
$line=substr($line, 0, -2);
$words[].=$line;
}
// Add words while password is smaller than the given length
$pwd = '';
$ran_date=date("s");
while (strlen($pwd) < $length){
$r = mt_rand(0, count($words)-1);
// randomly upercare word but not all in one time
if ($ran_date % 3 == 0) $words[$r]=ucwords($words[$r]);
$pwd .= $words[$r];
//randomly add symbol
if ($ran_date % 2 == 0) $pwd .= $sym{mt_rand(0,strlen($sym))};
$ran_date++;
}
// append a number at the end if length > 2 and
// reduce the password size to $length
$num = mt_rand(1, 99);
if ($length > 2){
$pwd = substr($pwd,0,$length-strlen($num)).$num;
} else {
$pwd = substr($pwd, 0, $length);
}
return $pwd;
}