AS3 Php密钥生成器

AS3 Php密钥生成器,php,actionscript-3,apache-flex,air,Php,Actionscript 3,Apache Flex,Air,我正在寻找一种使用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]

我正在寻找一种使用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-CC8D-F106。 但是现在,如何解密该密钥以提取$userCab的最后两位。

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

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


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

您无法解密MD5哈希。如果以后要通过检查对其进行“解密”,则需要将值存储在MySql表中,并每次对该表中的值进行加密,以检查其是否与他们输入的密钥匹配


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

你有什么具体问题吗?