PHP AES/DES加解密方法,使用了base64和16进制加解密串

在做接口的时候 , 我们需要对数据进行加密处理 , 本例使用的是AES/DES加密解密方法 , 
因为在加密解密的过程中 , 加密的串是乱码的 , 所以加乱码的串进行了base64编码或者转为16进制
同理解密的过程正好相反 , 具体方法如下:
//AES加密
function mc_encrypt($data, $mc_key,$method = 'AES-256-ECB',$basecode="base64",$iv="") { $options = OPENSSL_RAW_DATA; //数据格式选项(可选) $encode = openssl_encrypt($data, $method, $mc_key, $options,$iv); if($basecode == "hex"){//hex加密 $encode = String2Hex($encode); }else{ //base64加密 $encode = base64_encode($encode); } return $encode;}//AES解密
function mc_decrypt($result, $mc_key,$method = 'AES-256-ECB',$basecode="base64",$iv="") { $options = OPENSSL_RAW_DATA; //数据格式选项(可选) if($basecode == "hex"){ //hex解密 $result = Hex2String($result); }else{ //base64解密 $result = base64_decode($result); } $decrypted = openssl_decrypt($result, $method, $mc_key, $options,$iv); return $decrypted;}//16进制串转为字符串
function Hex2String($hex) { $string = ''; for ($i = 0; $i < strlen($hex) - 1; $i+=2) { $string .= chr(hexdec($hex[$i] . $hex[$i + 1])); } return $string;}//字符串转为16进制串
function String2Hex($string) { $hex = ''; for ($i = 0; $i < strlen($string); $i++) { $tmp = dechex(ord($string[$i])); if (strlen($tmp) == 1) { $tmp = "0" . $tmp; } $hex .= $tmp; } return $hex;}
【PHP AES/DES加解密方法,使用了base64和16进制加解密串】


    推荐阅读