You have to generate a Key and Save for further Decryption.
enter text
<input name=”data2″ type=”text” />
<input type=”submit” name=”Submit2″ value=”Encript” />
<input type=”submit” name=”Submit3″ value=”Decript” />
</form>
<?php
if(!isset($_POST[‘Submit2’])) {
}else {
$buffer = $_POST[‘data2’];
$key = “password”;
$r1 = encryptText($buffer, $key);
echo “Encrypted Value = “.$r1;
}
if(!isset($_POST[‘Submit3’])) {
}else {
$buffer = $_POST[‘data2’];
$key = “password”;
$r2 = decryptText($buffer, $key);
echo “Decrypted Value = “.$r2;
}
function encryptText($plainText, $key) {
$keyData = “xA2x15x37x08xCAx62xC1xD2”
. “xF7xF1x93xDFxD2x15x4Fx79x06”
. “x67x7Ax82x94x16x32x95”;
$padded = pkcs5_pad($plainText,
mcrypt_get_block_size(“tripledes”, “cbc”));
$encText = mcrypt_encrypt(“tripledes”, $keyData, $padded, “cbc”, $key);
return base64_encode($encText);
}
function decryptText($encryptText, $key) {
$keyData = “xA2x15x37x08xCAx62xC1xD2”
. “xF7xF1x93xDFxD2x15x4Fx79x06”
. “x67x7Ax82x94x16x32x95”;
$cipherText = base64_decode($encryptText);
$res = mcrypt_decrypt(“tripledes”, $keyData, $cipherText, “cbc”, $key);
$resUnpadded = pkcs5_unpad($res);
return $resUnpadded;
}
function pkcs5_pad ($text, $blocksize)
{
$pad = $blocksize – (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
function pkcs5_unpad($text)
{
$pad = ord($text{strlen($text)-1});
if ($pad > strlen($text)) return false;
if (strspn($text, chr($pad), strlen($text) – $pad) != $pad) return false;
return substr($text, 0, -1 * $pad);
}
?>
Decrypted Value = phpsushant.blogspot.com
One thought on “Triple DES Encryption and Decryption in PHP”