/** * 简单对称加密算法之加密 * @param String $string 需要加密的字串 * @param String $skey 加密EKY * @return String */function encode($string = '', $skey = 'testphp') { $skey = str_split(base64_encode($skey)); $strArr = str_split(base64_encode($string)); $strCount = count($strArr); foreach ($skey as $key => $value) { $key < $strCount && $strArr[$key].=$value; } return str_replace('=', 'O0O0O', join('', $strArr));}
/** * 简单对称加密算法之解密 * @param String $string 需要解密的字串 * @param String $skey 解密KEY * @return String */function decode($string = '', $skey = 'testphp') { $skey = str_split(base64_encode($skey)); $strArr = str_split(str_replace('O0O0O', '=', $string), 2); $strCount = count($strArr); foreach ($skey as $key => $value) { $key < $strCount && $strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0]; } return base64_decode(join('', $strArr));}
//字符串转换成16进制function str2hex($str, $encoded = 'GBK') { $hex = ''; if ($encoded == 'GBK') { $str = mb_convert_encoding($str, 'GBK', 'UTF-8'); } for ($i = 0, $length = mb_strlen($str); $i < $length; $i++) { $hex .= dechex(ord($str{$i})); } return $hex;}
//16进制转换成字符串function hex2str($hex, $encoded = 'GBK') { $str = ''; $arr = str_split($hex, 2); foreach ($arr as $bit) { $str .= chr(hexdec($bit)); } if ($encoded == 'GBK') { $str = mb_convert_encoding($str, 'UTF-8', 'GBK'); } return $str;}