* @version : HUOSDK 8.0 */ namespace huolib\tool; class SimpleSec { /** * 简单对称加密算法之加密 * * @param String $string 需要加密的字串 * @param String $key 加密EKY * * @return String */ public static function encode($string = '', $key = 'huosdk') { $_str_arr = str_split(base64_encode($string)); $_str_count = count($_str_arr); foreach (str_split($key) as $_k => $_v) { $_k < $_str_count && $_str_arr[$_k] .= $_v; } return str_replace( array('=', '+', '/' ), array('O0O0O', 'o000o', 'oo00o' ), join('', $_str_arr) ); } /** * 简单对称加密算法之解密 * * @param String $string 需要解密的字串 * @param String $key 解密KEY * * @return String */ public static function decode($string = '', $key = 'huosdk') { $_str_arr = str_split( str_replace( array('O0O0O', 'o000o', 'oo00o' ), array('=', '+', '/' ), $string ), 2 ); $_str_count = count($_str_arr); foreach (str_split($key) as $_k => $_v) { $_k <= $_str_count && isset($_str_arr[$_k]) && $_str_arr[$_k][1] === $_v && $_str_arr[$_k] = $_str_arr[$_k][0]; } return base64_decode(join('', $_str_arr)); } }