AS3 Php密钥生成器


AS3 Php key generator

我正在寻找一种使用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;
?>

生成的密钥如下所示:1AS7-09BD-96A1-C8D-F106。但是现在,如何解密这个密钥来提取$userCab的最后两位数字。

您使用的是md5算法,这是一种单向哈希算法。换句话说,你无法解密它。使用这种哈希算法的普通实例不会尝试解密,而是将给定的输入(用户密钥)与现有的哈希进行比较。

如果你需要解密密钥以获得它所包含的信息,你可能需要创建一个自定义算法,或者使用AES等可解密算法,然后使用加密字符串base64_encode()来获得用户友好的内容(但在大多数情况下,它将是一个长字符串)。查看可解密方法的可用mcrypt函数,以找到适合您需求的函数。

如果您需要特定的密钥格式,如您的示例所示,自定义算法可能是您的最佳选择。

您无法解密MD5哈希。如果您稍后要通过检查来"解密"它,您将希望将值存储在MySql表中,并每次加密该表中的值以检查它是否与他们放入的密钥匹配。

不要使用AS3来加密任何东西,因为有人可以很容易地反编译你的.swf并查看你的源代码。