PHP加密解密明文相同每次密文不一样非对称加解密

来源:互联网 发布:r语言mac版 编辑:程序博客网 时间:2024/05/20 17:09


//加密://密钥 把数据装入二进制(更安全)$key = pack('H*', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");echo 'key::'.$key.'<Br><Br>';//看下二进制数据长度    $key_size =  strlen($key);    echo "Key size: " . $key_size . "<br><br>\n";        $plaintext = "This string was AES-256 / CBC / ZeroBytePadding encrypted.";    # create a random IV to use with CBC encoding    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);        $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext, MCRYPT_MODE_CBC, $iv);    $ciphertext = $iv . $ciphertext;        $ciphertext_base64 = base64_encode($ciphertext);//输出密文(每次都不一样,更安全)    echo  '<Br><br>jia mi:::'.$ciphertext_base64 . "\n";//解密:$ciphertext_dec = base64_decode($ciphertext_base64);        $iv_dec = substr($ciphertext_dec, 0, $iv_size);        $ciphertext_dec = substr($ciphertext_dec, $iv_size);    $plaintext_dec = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $ciphertext_dec, MCRYPT_MODE_CBC, $iv_dec);        echo  '<Br><br>jie mi:::'.$plaintext_dec . "\n";exit;



0 0
原创粉丝点击