2012-08-04 3 views
0

AS3 또는 PHP로 라이센스 키를 생성하는 방법을 찾고 있습니다. 사용자 이름 응용 프로그램, 버전 번호 및 최대 사용자 번호로 키를 계산해야합니다. 1AS7-09BD-96A1-CC8D-F106 :AS3 PHP 키 생성기

<?php 
    error_reporting(E_ALL); 
    function KeyGen($userName){ 
    $key = md5($userName); 
    $new_key = ''; 
    for($i=1; $i <= 25; $i ++){ 
       $new_key .= $key[$i]; 
       if ($i%5==0 && $i != 25) $new_key.='-'; 
    } 
    return strtoupper($new_key); 
    } 

    $userCab="MyUserName-v6.0-12"; 
    $key=KeyGen($userCab); 
echo $key; 
?> 

(가)에 대한 이와 같은 키를 생성

는 예를 들어, 다음의 코드이다. 하지만이 키를 해독하여 $ userCab의 마지막 두 자리를 추출하는 방법.

+0

질문이 있으십니까? – JeffryHouser

답변

0

단방향 해싱 알고리즘 인 md5 알고리즘을 사용하고 있습니다. 즉, 해독 할 수 없습니다. 이와 같은 해시 알고리즘을 사용하는 일반 인스턴스는 해독을 시도하지 않고 지정된 입력 (사용자 키)을 기존 해시와 비교합니다.

키 정보를 얻기 위해 암호를 해독해야하는 경우 사용자 지정 알고리즘을 만들거나 AES와 같은 암호 해독 알고리즘을 사용하고 base64_encode() 암호화 된 문자열을 사용하여 사용자 친화적 인 것으로 만들어야 할 수 있습니다 대부분의 경우 긴 문자열이어야 함). 사용자의 요구에 맞는 방법을 찾기 위해 암호 해독 가능한 메소드에 대해 사용 가능한 mcrypt 함수를 살펴보십시오.

예제와 같이 특정 키 형식이 필요한 경우 사용자 지정 알고리즘이 최선의 방법 일 수 있습니다.

0

MD5 해시를 해독 할 수 없습니다. 나중에 확인으로 해독 할 경우, MySql 테이블에 값을 저장하고 매번 그 테이블의 값을 암호화하여 매번 입력 한 키와 일치하는지 확인해야합니다.

누군가가 .swf를 쉽게 디 컴파일하고 소스 코드를 볼 수 있으므로 AS3를 사용하여 암호화하지 마십시오.