Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Encriptación sin cambiar la longitud.

Estas en el tema de Encriptación sin cambiar la longitud. en el foro de PHP en Foros del Web. Hola, Necesito encriptar un campo sin que la longitud cambie. Podríais decirme el modo de hacerlo. Es decir si escribo por ejemplo la palabra "hola" ...
  #1 (permalink)  
Antiguo 21/02/2014, 14:39
 
Fecha de Ingreso: septiembre-2013
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 1
Encriptación sin cambiar la longitud.

Hola,

Necesito encriptar un campo sin que la longitud cambie. Podríais decirme el modo de hacerlo. Es decir si escribo por ejemplo la palabra "hola" necesito que al encriptarse conserve una longitud de 4 caracteres, no puedo superar la longitud de la cadena bajo ningún motivo como mucho puede superarse en 1 o 2 caracteres.

Saludos y gracias.
  #2 (permalink)  
Antiguo 21/02/2014, 15:00
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Encriptación sin cambiar la longitud.

Talves me equivoque, pero creo que no se puede hacer eso.

Los métodos de encriptación como md5 te dan una longitud de 32 caracteres y los de SHA1 creo que dan 40 o más.

Por ello la encriptación, pero a ver si entra alguien que sepa más del tema, por lo pronto te recomiendo que leas sobre esos métodos.

Saludos!!
  #3 (permalink)  
Antiguo 21/02/2014, 15:02
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Encriptación sin cambiar la longitud.

Primero aclara si en verdad quieres encriptar o hacer hash, que es muy distinto, y por qué tienes la absurda condicionante, que parece ser tarea escolar. En tal caso, te recomiendo leer los métodos básicos de encriptación, que consisten en intercambiar letras.
  #4 (permalink)  
Antiguo 21/02/2014, 16:49
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Encriptación sin cambiar la longitud.

Hola:

Existen mecanismos seguros para hacer eso.
Lo q necesitas es un cifrador de flujo. Búscalo en Google para q veas cómo funciona y si hay alguna implementación disponible para PHP.

El esquema de funcionamiento (MUY básicamente) es así:
A partir de una llave (también se le llama semilla) se empieza a generar un flujo de bytes pseudoaleatorio. Para la misma llave siempre se genera el mismo flujo.
De este flujo tomas la cantidad de bytes q necesites y aplicas XOR uno a uno con los caracteres del texto a cifrar. El resultado es el texto ya cifrado.
Para descifrar tomas la llave, generas el mismo flujo, aplicas XOR al texto cifrado y el resultado es el mensaje original.

Hay algunas consideraciones de seguridad más q debes tener en cuenta, como el tamaño de la llave y por ejemplo que NUNCA vayas a usar 2 veces la misma.

slds;

nup_
  #5 (permalink)  
Antiguo 22/02/2014, 07:50
 
Fecha de Ingreso: septiembre-2013
Mensajes: 29
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: Encriptación sin cambiar la longitud.

Muchas gracias. Vuestras respuestas me han servido para solucionar el problema

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 10:45.