AES加密

作者: smallThree1 | 来源:发表于2017-10-30 13:49 被阅读12次

    php实现AES/ECB/PKCS5Padding模式加密

    classAesUtil

    {

    public static functionencrypt($input,$key){

    $size= mcrypt_get_block_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB);

    $input= AesUtil::pkcs5_pad($input,$size);

    $td=mcrypt_module_open(MCRYPT_RIJNDAEL_128,'',MCRYPT_MODE_ECB,'');

    $iv= mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);

    mcrypt_generic_init($td,$key,$iv);

    $data= mcrypt_generic($td,$input);

    mcrypt_generic_deinit($td);

    mcrypt_module_close($td);

    $data= base64_encode($data);

    return$data;

    }

    private static functionpkcs5_pad($text,$blocksize){

    $pad=$blocksize-(strlen($text)%$blocksize);

    return$text. str_repeat(chr($pad),$pad);

    }

    public static functiondecrypt($sStr,$sKey){

    $decrypted= mcrypt_decrypt(

    MCRYPT_RIJNDAEL_128,

    $sKey,

    base64_decode($sStr),

    MCRYPT_MODE_ECB

    );

    $dec_s= strlen($decrypted);

    $padding= ord($decrypted[$dec_s-1]);

    $decrypted= substr($decrypted,0, -$padding);

    return$decrypted;

    }

    }

    相关文章

      网友评论

          本文标题:AES加密

          本文链接:https://www.haomeiwen.com/subject/tsqpuxtx.html