//加密:
//密钥 把数据装入二进制(更安全)
$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;



更多相关文章

  1. MySQL中varchar最大长度是多少?
  2. mysql——数据库设计中int与varchar中的长度含义
  3. mysqli_query中的最大查询长度。
  4. WebKit "拒绝设置不安全的标题'内容长度' "
  5. 获取JavaScript数组元素的最大长度
  6. 数组与矩阵---需要排序的最短子数组长度
  7. python实现求最长子串长度
  8. 在不知道序列长度的情况下,在Python中展开多个赋值
  9. 在Python中解析Yaml:检测重复的密钥

随机推荐

  1. linux终端常用快捷键
  2. Linux程序设计——文件操作(标准I/O库)
  3. Linux之profile、bash_profile、bashrc文
  4. Linux系统中配置YUM
  5. 如何在init.d上重启Jar文件?
  6. 从QQ浏览器缓存文件中提取出完整的视频
  7. linux下开启mysql慢查询,分析查询语句
  8. Linux 的磁盘格式化、挂载、磁盘检验、df
  9. linux_locale的设定中LANG、LC_ALL、LANG
  10. Linux文件权限查看及修改命令chmod