Triple DES Encryption and Decryption in PHP

You have to generate a Key and Save for further Decryption.

<form id=”form3″ name=”form3″ method=”post” action=””>
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);
}

?>

Encrypted Value = Ih5izhCHS4yhU2pzcm1xXyhKS6YWpRQ6

Decrypted Value = phpsushant.blogspot.com

 

Note – Your Key Makes Your Encryption More Strong, So Try to Generate 128- 256-bit key.

Published by Sushant Sharma

Technologist. Software Developer. Tech Analyst ।।।

One thought on “Triple DES Encryption and Decryption in PHP

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Design a site like this with WordPress.com
Get started