function enToken($txt) {
    $key   = 'colin';
    $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-";
    $nh    = rand(0, 64);
    $ch    = $chars[ $nh ];
    $mdKey = md5($key . $ch);
    $mdKey = substr($mdKey, $nh % 8, $nh % 8 + 7);
    $txt   = base64_encode($txt);
    $tmp   = '';
    $k     = 0;
    for ($i = 0; $i < strlen($txt); $i++) {
        $k   = $k == strlen($mdKey) ? 0 : $k;
        $j   = ($nh + strpos($chars, $txt[ $i ]) + ord($mdKey[ $k++ ])) % 64;
        $tmp .= $chars[ $j ];
    }
    return urlencode($ch . $tmp);
}
function unToken($txt) {
    $key   = 'colin';
    $txt   = urldecode($txt);
    $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-";
    $ch    = $txt[0];
    $nh    = strpos($chars, $ch);
    $mdKey = md5($key . $ch);
    $mdKey = substr($mdKey, $nh % 8, $nh % 8 + 7);
    $txt   = substr($txt, 1);
    $tmp   = '';
    $k     = 0;
    for ($i = 0; $i < strlen($txt); $i++) {
        $k = $k == strlen($mdKey) ? 0 : $k;
        $j = strpos($chars, $txt[ $i ]) - $nh - ord($mdKey[ $k++ ]);
        while ($j < 0) $j += 64;
        $tmp .= $chars[ $j ];
    }
    return base64_decode($tmp);
}
PHP 加密解密
点赞
收藏
 
  
  
  
 
 
  
 
 
 