PHP 使用 mcrypt 扩展中的 mcrypt_encrypt() 和 mcrypt_decrypt() 对数据进行加密和解密

牧云@^-^@ 提交于 2020-01-28 04:24:39
<?php

/* 使用 mcrypt 扩展中的 mcrypt_encrypt() 和 mcrypt_decrypt() 对数据进行加密和解密 */

// 加密
$algorithm = MCRYPT_BLOWFISH; // 加密算法
$key = 'mycryptkey'; // 加密密钥
$data = '12345'; // 要加密或解密的数据
$mode = MCRYPT_MODE_CBC; // 加密或解密的模式

// 初始向量
$iv = mcrypt_create_iv(mcrypt_get_iv_size($algorithm, $mode), MCRYPT_DEV_URANDOM);

// 加密数据
$encrypted_data = mcrypt_encrypt($algorithm, $key, $data, $mode, $iv);
$plain_text = base64_encode($encrypted_data);
var_dump($plain_text);
// 每次都会变化的长度12的字符串,例如 vDJCatqAGdg=

///////////////////////////////////////

// 解密
$encrypted_data = base64_decode($plain_text);
$decoded = mcrypt_decrypt($algorithm, $key, $encrypted_data, $mode, $iv);
var_dump(trim($decoded)); // trim删除末尾增加的NULL字节
// 12345

  

参考:

<PHP Cookbook>3'rd

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!