/**
* 加密解密用户邀请码,
* @param unknown $string
* @param string $action encode|decode
* @return string
*/
function endecodeUserId($string, $action = 'encode') {
$startLen = 13;
$endLen = 8;
$coderes = '';
#TOD 暂设定uid字符长度最大到9
if ($action=='encode') {
$uidlen = strlen($string);
$salt = 'yourself_code';
$codestr = $string.$salt;
$encodestr = hash('md4', $codestr);
$coderes = $uidlen.substr($encodestr, 5,$startLen-$uidlen).$string.substr($encodestr, -12,$endLen);
$coderes = strtoupper($coderes);
}elseif($action=='decode'){
$strlen = strlen($string);
$uidlen = $string[0];
$coderes = substr($string, $startLen-$uidlen+1,$uidlen);
}
return $coderes;
}
使用:
$id = I('param.id');//兼职id
//解密
$id = endecodeUserId($id,'decode');
//加密
$id = endecodeUserId($id);