Foros del Web » Programando para Internet » PHP »

¿Crear un encriptador propio?

Estas en el tema de ¿Crear un encriptador propio? en el foro de PHP en Foros del Web. Hola amigos , Perdonen la cantidad de post que andan por el foro, esque estoy montando una pequeña red social pasito a pasito, el otro ...
  #1 (permalink)  
Antiguo 10/04/2014, 08:13
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 1 mes
Puntos: 1
¿Crear un encriptador propio?

Hola amigos ,
Perdonen la cantidad de post que andan por el foro, esque estoy montando una pequeña red social pasito a pasito, el otro día se me courrió la idea de montar un encriptador propio, en php. ¿Alguien aporta ideos? he pensado en un function.

¡Un Saludo! :)
  #2 (permalink)  
Antiguo 10/04/2014, 08:46
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: ¿Crear un encriptador propio?

Eso se llama Reinventar la rueda

Tienes Blowfish + salt para mayor seguridad, disponible en PHP5.3 con la función crypt().
  #3 (permalink)  
Antiguo 10/04/2014, 09:07
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: ¿Crear un encriptador propio?

Hola ,
Necesito que pueda desencriptarla.
  #4 (permalink)  
Antiguo 10/04/2014, 09:12
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: ¿Crear un encriptador propio?

Cita:
Iniciado por alejandromaringomez Ver Mensaje
Hola ,
Necesito que pueda desencriptarla.
Pues un Base64, binario, cifrado de césar...
  #5 (permalink)  
Antiguo 10/04/2014, 10:52
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: ¿Crear un encriptador propio?

Como bien explica mi post quiero que sea algo que no venga hecho, para hacer de ello algo mucho más seguro :/
  #6 (permalink)  
Antiguo 10/04/2014, 13:49
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: ¿Crear un encriptador propio?

Puedes usa encriptación simétrica con la extension mcrypt para lo que necesitas, cosa de que pases al manual y trabajes con los ejemplos.
Cita:
Como bien explica mi post quiero que sea algo que no venga hecho, para hacer de ello algo mucho más seguro :/
Para esto hace falta que te sientes, trabajes tu idea, la plasmes en código y luego lo publiques y entonces, solo entonces, preguntes que se puede mejorar.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 11/04/2014, 07:58
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ¿Crear un encriptador propio?

Me imagino que lo dices al estar acostumbrado a cifrados como md5, sha1, que siempre devuelven el mismo hash en cualquier lugar.

Como dicen arriba, para no complicarte la vida pero hacerlo mas seguro, (y que puedas decifrarlo luego) está el base64, aqui te dejo 2 funciones para cirfrar y decifrar
Código PHP:
function simple_encrypt($text$salt)
{
    return 
trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256$salt$textMCRYPT_MODE_ECBmcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256MCRYPT_MODE_ECB), MCRYPT_RAND))));
}

function 
simple_decrypt($text$salt)
{
    return 
trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256$saltbase64_decode($text), MCRYPT_MODE_ECBmcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256MCRYPT_MODE_ECB), MCRYPT_RAND)));

El código no es mio, lo copié hace mucho tiempo de stackoverflow

El truco está en la variable salt..el salt es, en palabras simples, como una contraseña para proteger tu cifrado. Cuando pasas un texto por esa función para cifrarlo, y le indicas una contraseña, pues el hash que te dará será único para tu web, y el que quiera saber el texto necesitará, a parte del algoritmo (base64), tu contraseña, y esa no se la vas a dar a nadie.

Es decir, en tu app guarda una variable con una contraseña, letras y cifras al azar mismo. Y cada vez que cifras o decifras algo en tu web indicas la contraseña.

Un saludo
  #8 (permalink)  
Antiguo 11/04/2014, 09:18
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: ¿Crear un encriptador propio?

Holaaa :) Muchas gracias por las respuestas, he probado tu ncodigo y he conseguido otro similar, el otro es el que tiene las "//", y me llama la atención que ninguno de los dos me funcione correctamente, supongo que el fallo es mío, ¿Dónde tengo el fallo? :/

Cita:
<?php
function encriptador($string, $funcion) {
$key = "ytrwt674ytrw87th86rgw4t4f6d4t4r6";
if($funcion!=1 || $funcion!=2) {
$funcion = 1;
}
if($funcion==1) {
//$result = ”;
//for($i=0; $i<strlen($string); $i++) {
// $char = substr($string, $i, 1);
// $keychar = substr($key, ($i % strlen($key))-1, 1);
// $char = chr(ord($char)+ord($keychar));
// $result.=$char;
//}
//return base64_encode($result);
return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_ 256, $key, $string, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAE L_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
} elseif($funcion==2) {
//$result = ”;
//$string = base64_decode($string);
//for($i=0; $i<strlen($string); $i++) {
// $char = substr($string, $i, 1);
// $keychar = substr($key, ($i % strlen($key))-1, 1);
// $char = chr(ord($char)-ord($keychar));
// $result.=$char;
//}
//return base64_decode($result);
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($string), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAE L_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}
}
echo encriptador("LA CADENA A ENCRIPTAR",1);
echo '<br>';
echo encriptador("4oCdsKmUtbSusLuvlKiMt8GuwL29u7HF",2);
?>
Y me da esto:

Cita:
Texto encriptado:
locXPzLOoHU/ARqg5vqT+dw1MIm7/BVbO0ZYANeQdUs=

Texto desencriptado:
wS7UMKvRd1gu32NhJuAf3wdktykza6YGp0mb7n/Jnf8=
¡Un Saludo! :)
  #9 (permalink)  
Antiguo 11/04/2014, 09:23
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ¿Crear un encriptador propio?

Para que el mio y el que has puesto funcionen, tu instalación php necesita tener la libreria mcrypt.

create un archivo php en cualquier sitio (de la carpeta de tu servidor se sobreentiende), pon dentro
<?php phpinfo();

Ejecutalo en el navegador, y busca (CTRL+F) mcrypt, si no está ese es el motivo.

Si no sabes como activarla o instalarla solo indicame si usas xampp, wamp, lamp u otro, tambien si usas windows o linux y te intentaré ayudar.
  #10 (permalink)  
Antiguo 11/04/2014, 09:40
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: ¿Crear un encriptador propio?

Hola Qazser,
Efectivamente no esta :( , pues verás no uso server porque tengo hosting en 1and1, en concreto la oferta de 1.99 euros al mes, creo que se llama Dual Basic, ¿Qué puedo hacer? :/

¡Un Saludo! :)
  #11 (permalink)  
Antiguo 11/04/2014, 09:56
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ¿Crear un encriptador propio?

Puffff no sé si va funcionar entonces....

Tengo 2 ideas en mente pero son mucho rollo y si no tienen la extensión ellos no va funcionar igualmente, lo más facil va ser para comenzar escribir un ticket de soporte técnico si lo habilitan, a lo mejor hay suerte.

yo estaba mirando hacer el base64 sin mcrypt en php pero no he encontrado alternativa, lo siento :(

Suerte!
  #12 (permalink)  
Antiguo 11/04/2014, 13:31
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: ¿Crear un encriptador propio?

Hola Qazser :) ,
Voy a escribir a soporte, muchas gracias por intentarme ayudar, se agradece mucho lo que me has ayudado enserio :), a ver si tengo suerte.

¡Un Saludo!, si eso dejo abierto por si alguien supiera :)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:18.