PHP簡單的字串資料加密與解密方法

php加密與解密

PHP simple encryption and decryption functions

php 字串加密與解密簡單的寫法,這裡使用的是 openssl_encrypt 這個語法:


// 加密函数
function encryptFunction($data, $key) {
  $encryptedData = openssl_encrypt($data, 'AES-256-CBC', $key, 0, substr($key, 0, 16));
  return $encryptedData;
}

// 解密函数
function decryptFunction($encryptedData, $key) {
  $data = openssl_decrypt($encryptedData, 'AES-256-CBC', $key, 0, substr($key, 0, 16));
  return $data;
}

// 因為上面寫了 openssl_encrypt() 至少要16 byte,所以這裡的key至少要16個字
$encryptionKey = 'abcdefghijk123457';

因為寫了 substr($key, 0, 16) 抓取 $key 的 1~16 位置的文字,所以 $key 沒有16個字的話會報錯,你可以視自己的需求改變長短。

實際使用範例


// for example
$tempVariable = 'oh nyo!';

$tempVariableEncrypt = encryptFunction($tempVariable, $encryptionKey);
// mmdpiTHs1NnuNZrk7zxnWA==

$decryptBack = decryptFunction($tempVariableEncrypt, $encryptionKey);
// oh nyo!

這個方法可以簡單運用在存入資料庫,與取出資料庫的資訊給具有權限的人。

留言

這個網誌中的熱門文章

用CSS的 min max與vw cqi,設計有極限值的RWD響應式文字

10 steps、「ライブ会場を沸らせる、フロアを沸かす」ミーム動画の作り方 (Viggle AI)

如何產生醒目顯示文字的連結?讓使用者一目瞭然的功能(Scroll to Text Fragment)