面對個資,資料都要加密,資料保護自己來

個人資料保護法上線,企業要負責個人資料的保護,不得不小心,以免受罰。

什麼是個人資料,姓名、生份證字號、手機號碼等等足以辨識個人的資料都算,比如說有一個同學姓茅,全校只有這麼一個人,只講一個某某學校茅同學,這就算個資,我的天啊!個資的範圍也太廣了。

其實,連醫療記錄都是個人資料,比如說牙醫記錄,國內外常用牙齒來辦識一些無法確認的「人」,甚至於心電圖超級特殊,全世界找不到第二個,都算是個資。

是的,只要個人提告,企業要負責舉證個人資料的使用是受到保護的。

只要一般業界水準的保護就可以了,什麼叫一般業界水準,也就是說,別人怎麼搞,我就怎麼搞。

好啦!講一下我程網路上看到的1隻PHP加密程式,過幾天小迪找我做系統時,就可以拿來用了。

老實說這些保護措施真的可以讓大家免於詐騙嗎?花這麼多的時間和力氣,不如強力掃蕩詐騙集團。

<?php
/**
* PHP DES 加密程式
*
* @param $key 密鑰(八個字元內)
* @param $encrypt 要加密的明文
* @return string 密文
*/
function encrypt ($key, $encrypt)
{
    // 根據 PKCS#7 RFC 5652 Cryptographic Message Syntax (CMS) 修正 Message 加入 Padding
    $block = mcrypt_get_block_size(MCRYPT_DES, MCRYPT_MODE_ECB);
    $pad = $block – (strlen($encrypt) % $block);
    $encrypt .= str_repeat(chr($pad), $pad);
    // 不需要設定 IV 進行加密
    $passcrypt = mcrypt_encrypt(MCRYPT_DES, $key, $encrypt, MCRYPT_MODE_ECB);
    return base64_encode($passcrypt);
}
/**
* PHP DES 解密程式
*
* @param $key 密鑰(八個字元內)
* @param $decrypt 要解密的密文
* @return string 明文
*/
function decrypt ($key, $decrypt)
{
    // 不需要設定 IV
    $str = mcrypt_decrypt(MCRYPT_DES, $key, base64_decode($decrypt), MCRYPT_MODE_ECB);
    // 根據 PKCS#7 RFC 5652 Cryptographic Message Syntax (CMS) 修正 Message 移除 Padding
    $pad = ord($str[strlen($str) – 1]);
    return substr($str, 0, strlen($str) – $pad);
}
$key = ‘uuid’;
$plain = ‘0123ABCD!@#$中文’;
$encrypt = encrypt($key, $plain);
$decrypt = decrypt($key, $encrypt);
echo ‘plain = ‘.$plain.”\r\n”;
echo ‘encrypt = ‘.$encrypt.”\r\n”;
echo ‘decrypt = ‘.$decrypt.”\r\n”;
?>

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *