2016-06-28 9 views
0

私は顧客名を使って何らかのシリアル番号を生成しようとしています。 これは私が開発しているPHPソフトウェア用です。しかし、私はこれまで試用システムやシリアル生成などを行っていません。シリアル番号から顧客名を抽出できますか?

これは、私はシリアル番号を生成するために使用するコードです:

<?php 
// URL is = http://teionsoft.com/classified/keygen.php?token= 
    $token = @$_POST['token']; 

    if(empty($token)) 
    { 
     echo ' 
     <p>Token can not be blank or zero.</p> 
     <p> 
      <form action="keygen.php" method="post"> 
       <input type="text" name="token" id="token" placeholder="Type in your full name" /><br /><br /> 
       <input type="submit" name="submit" value="Get serial!" /> 
      </form> 
     </p>'; 
     exit; 
    } 

function serialKey() { 
    // Create a token 

    // GUID is 128-bit hex 
    $hash = strtoupper(md5($token)); 

    // Create formatted GUID 
    $guid = ''; 

    // GUID format is XXXXX-XXXXX-XXXXX-XXXXX-XXXXX for readability  
    $guid .= substr($hash, 0, 5) . 
     '-' . 
     substr($hash, 8, 5) . 
     '-' . 
     substr($hash, 12, 5) . 
     '-' . 
     substr($hash, 16, 5) . 
     '-' . 
     substr($hash, 20, 5); 

    // temporary code to test base64 codeing/decoding ; 

    $string = $guid; 
    $encoded = base64_encode($string); 
    $decoded = base64_decode($encoded); 
    echo $encoded ."<br /><br />"; 
    echo $decoded; 
} 

if(isset($_POST['submit'])) 
{ 
    serialKey(); 
} 
?> 

にはどうすればシリアル番号から顧客名を抽出することができますか?

+0

md5の代わりにsha256を使用してください。ユニークなIDのために –

+0

を読んでください。このhttp://php.net/manual/es/function.uniqid.php –

+1

あなたはそこにGUIDを記述していますが、GUIDは生成していません。 https://en.wikipedia.org/wiki/Globally_unique_identifier#Algorithm – apokryfos

答えて

1

お客様のご質問が正しく理解されている場合は、顧客名に基づいてシリアル番号を生成し、後でシリアル番号を解読して顧客名を取得する必要があります。

名前を16進数に変換することはできますが、文字列はほとんどの場合、現在使用しているXXXXX-XXXXX-XXXXX-XXXXX-XXXXX形式より長くなります。

データベースにシリアル番号を保存して、シリアル番号が顧客名と同じ行にあるかどうかを確認するだけでよいのではないでしょうか?

+0

+1を確認してください。ランダムなシリアルコードを生成し、これを顧客情報と共にデータベースに保存しておくと、簡単に参照できるようになります。 –

+0

ソフトウェアがインターネットに接続されていないことがあります。シリアルナンバーをデコードすると、シリアルナンバーが購入後に私のウェブサイトに生成されたことが確認されます。 –

0

$hash = strtoupper(md5($token))ということは、これが不可逆的な変換であることを示す手がかりになります。検索キーとしてハッシュを使用する場合は、オリジナルを保存する必要があります。

関連する問題