PHP 使用 mcrypt 擴展中的 mcrypt_encrypt() 和 mcrypt_decrypt() 對數據進行加密和解密

<?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

<PHP Cookbook>3'rd算法

相關文章
相關標籤/搜索