<?php
protected function decryptInfo($toDecrypt) {
$td = mcrypt_module_open('rijndael-128', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
$ks = mcrypt_enc_get_key_size($td);
$key = substr(md5('very secret key'), 0, $ks);
mcrypt_generic_init($td, $key, $iv);
if(!$toDecrypt){
return "";
}
$decrypted = mdecrypt_generic($td, base64_decode($toDecrypt));
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $decrypted;
}
function onBeforeWrite() {
$td = mcrypt_module_open('rijndael-128', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
$ks = mcrypt_enc_get_key_size($td);
$key = substr(md5('very secret key'), 0, $ks);
mcrypt_generic_init($td, $key, $iv);
$toEncrypt = array (
$this->getField("FirstName"),
$this->getField("LastName"),
$this->getField("Email"),
$this->getField("Address1"),
$this->getField("Address2"),
$this->getField("City"),
$this->getField("PostalCode"),
$this->getField("PhoneNumber")
);
$encrypted = array();
foreach ($toEncrypt as $toBeEncrypted) {
if(!$toBeEncrypted){
array_push($encrypted, $toBeEncrypted);
} else {
$encryptedValue = mcrypt_generic($td, $toBeEncrypted);
array_push($encrypted, $encryptedValue);
}
}
$this->FirstName = base64_encode($encrypted[0]);
$this->LastName = base64_encode($encrypted[1]);
$this->Email = base64_encode($encrypted[2]);
$this->Address1 = base64_encode($encrypted[3]);
$this->Address2 = base64_encode($encrypted[4]);
$this->City = base64_encode($encrypted[5]);
$this->PostalCode = base64_encode($encrypted[6]);
$this->PhoneNumber = base64_encode($encrypted[7]);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
parent::onBeforeWrite();
}