Hola compañeros, bueno traigo este pequeño codigo que funciona solo para los caracteres de tipo char o caracteres, lo dejo aqui por que he buscado el tema en internet y nunca encontraba nada así que espero le guste y le sirva a alguien que halla estado buscando algo parecido a lo que les dejo a continuacion, básicamente se divide en cuatro paginas,
1)Principal
2)Secundaria
3)Encriptar.php
4)Desencriptar.php
index.php Código PHP:
<form action="meter.php" method="POST">
<input type="text" name="mensaje">
<input type="submit" name="Encriptar mensaje">
</form>
meter.php Código PHP:
<?php
include 'encriptar.php';
include 'desencripta.php';
$mensaje = $_POST['mensaje'];
$encripta = new EncriptaDatos();
$encripta->lee_dato($mensaje);
echo "La clave cifrada es:".$encripta->EncriptaDato()."<br>";
$desencripta = new DesencriptaDatos();
$desencripta -> lee_dato_encriptado($encripta->EncriptaDato());
echo "La clave desencriptada es:".$desencripta->DesEncriptado();
?>
Encriptar.php Código PHP:
<?php
/**
* Edgar A. Olvera
* Fecha:02/10/2016
* Encriptacion de datos ejemplo basico
*/
class EncriptaDatos
{
var $datoaencriptar;
function lee_dato($dato){
$this->datoaencriptar = $dato;
}
function EncriptaDato(){
$longitud = strlen($this -> datoaencriptar);
$mensajeEncriptar = str_split($this -> datoaencriptar);
$bt_met = 0;
longi:
$longitudNueva = rand(0,255);
if($longitud > $longitudNueva){
goto longi;
}
for($i = 0; $i <= $longitudNueva; $i++){
$mete = rand(0,1);
if($mete && $bt_met <= ($longitud-1)){
$chr = ord($mensajeEncriptar[$bt_met]);
$nuevomensaje[$i] = chr($chr + 1);
$nuevomensaje[$i+1] = rand(0,9);
$bt_met++;
$i++;
}else if($bt_met <= ($longitud-1)){
encripta:
$encripta = rand(0,255);
if($encripta < 48 || $encripta > 57){
$nuevomensaje[$i] =chr($encripta);
}else{
goto encripta;
}
}
}
return implode($nuevomensaje);
}
}
?>
Desencriptar.php Código PHP:
<?php
class DesencriptaDatos
{
var $datosdesencriptar;
function lee_dato_encriptado($dato_encriptado){
$this -> datosdesencriptar = $dato_encriptado;
}
function DesEncriptado(){
$longitud = strlen($this -> datosdesencriptar);
$mensaje = str_split($this -> datosdesencriptar);
$pos = 0;
for($i = 0; $i <= $longitud-1; $i++){
if(is_numeric($mensaje[$i])){
$capturarChr = $mensaje[$i - 1];
$convertirAscii = ord($capturarChr);
$nuevoChr = chr($convertirAscii - 1);
$mensajeN[$i] = $nuevoChr;
}
}
return implode($mensajeN);
}
}
?>
Espero les sirva de algo compañeros :)