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


//加密:
	//密钥 把数据装入二进制(更安全)
	$key = pack('H*', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");
	echo 'key::'.$key.'

'; //看下二进制数据长度 $key_size = strlen($key); echo "Key size: " . $key_size . "

\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 '

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 '

jie mi:::'.$plaintext_dec . "\n"; exit;



你可能感兴趣的:(myphp)