회원가입 같은 것을 할때 입력하는 암호가 보안에 안전한지 여부를 반환하는 함수를 만들었습니다.
1 ) { // 연속성 없이 변환
$change_point += 0.1;
} else if ( $gap < 0 ) { // 역순서로 변환
$change_point += 0.05;
}
$old_char = $char;
}
// 문자길이 점수(6 ~ 16자 기준): 0 ~ 2
$length_point = floor(strlen($password) / 6);
// 고유문자 점수(16자 기준): 1 ~ 16
$unique_point = count($unique_char);
// 전체 점수(6 ~ 16자 기준): 0 or 0.3 ~ 345.6
$total_point = $char_point * $change_point * $length_point * $unique_point;
// 점수정보 참조 배열
$point_data = array(
'char' => $char_point,
'change' => $change_point,
'length' => $length_point,
'unique' => $unique_point,
'total' => $total_point,
);
## 보안 레벨 반환 ##
// 전체 점수를 위한 4종류 점수를 각각 '(최대값 - 최소값) / 레벨'의 값으로,
// 4종류 점수를 각각 레벨별로 계산하여 레벨별 점수범위를 구했음
if ( $total_point > 0 && $total_point <= 16.96 ) {
return 1;
} else if ( $total_point > 16.96 && $total_point <= 137.36 ) {
return 2;
} else if ( $total_point > 137.36 ) {
return 3;
} else {
return 0;
}
}
?>