详情页

PHP 十六进制与字符串相互转换以及Aes加密解密

时间:2023年05月25日

编辑:佚名

十六进制转字符串
function hexToStr($hex)
    {
        $string="";
        for($i=0;$i<strlen($hex)-1;$i+=2)
            $string.=chr(hexdec($hex[$i].$hex[$i+1]));
        return  $string;
    }
字符串转十六进制
function strToHex($string)
    {
        $hex="";
        $tmp="";
        for($i=0;$i<strlen($string);$i++)
        {
            $tmp = dechex(ord($string[$i]));
            $hex.= strlen($tmp) == 1 ? "0".$tmp : $tmp;
        }
        $hex=strtoupper($hex);
        return $hex;
    }
Aes加密
function aes_encode($data, $key, $iv) {
    //字符串转十六进制 strToHex
    return strToHex(openssl_encrypt($data, 'aes-128-cbc', $key, true, $iv));
}
Aes解密
function aes_decode($data) {   
    //十六进制转字符串 hexToStr
    return openssl_decrypt(hexToStr($data), 'aes-128-cbc', $key, true, $iv);
}
相关文章
猜你需要