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!
這個方法可以簡單運用在存入資料庫,與取出資料庫的資訊給具有權限的人。
留言
張貼留言