Cifrado con mcrypt
<?php
function encrypt($key, $plain_text) {
if (!function_exists(mcrypt_cfb)) { $plain_text = "Funcion de cifrado inhabilitada"; return $plain_text ; }
$plain_text = trim($plain_text);
$iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
$c_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $plain_text, MCRYPT_ENCRYPT, $iv);
return trim(base64_encode($c_t));
}
function decrypt($key, $c_t) {
if (!function_exists(mcrypt_cfb)) { $plain_text = "Funcion de cifrado inhabilitada"; return $plain_text ; }
$c_t = trim(chop(base64_decode($c_t)));
$iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
$p_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $c_t, MCRYPT_DECRYPT, $iv);
return trim($p_t);
}
?>
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>Indique el texto a cifrar:</p>
<p>
<?php
if (!empty($_POST["cifrado"]))
{ $cifrar = decrypt($_POST["llave_des"],$_POST["cifrado"]); }
?>
Llave del cifrado:
<input name="llave" type="text" size="6" maxlength="6" /><br />
</p>
<p>
<textarea name="cifrar" cols="70" rows="10" ><?php echo $cifrar; ?></textarea>
</p>
<p><br />
<input type="submit" name="button" value="Cifrar" />
</p>
</form>
<p> </p><br />
<form name="form2" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>Texto Cifrado:</p>
<p>
<?php if (!empty($_POST["cifrar"]))
{ $cifrado = encrypt($_POST["llave"],$_POST["cifrar"]); }
?>
Llave del descifrado:
<input name="llave_des" type="text" size="6" maxlength="6" /><br />
</p>
<p>
<textarea name="cifrado" cols="70" rows="10" ><?php echo $cifrado; ?></textarea>
</p>
<p><br />
<input name="button" type="submit" value="Descifrar" />
</p>
</form>
Puedes verlo en ejecución en:
http://www.xombra.com/encripta.php