Foros del Web » Programando para Internet » PHP »

Encriptar datos

Estas en el tema de Encriptar datos en el foro de PHP en Foros del Web. Tengo que guardar datos de tarjetas de crédito en una base de datos MySQL ¿cómo me aconsejan encriptarlos o protegerlos? Desde ya muchas gracias....
  #1 (permalink)  
Antiguo 09/02/2015, 15:18
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Encriptar datos

Tengo que guardar datos de tarjetas de crédito en una base de datos MySQL ¿cómo me aconsejan encriptarlos o protegerlos?

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 09/02/2015, 16:50
 
Fecha de Ingreso: noviembre-2012
Mensajes: 76
Antigüedad: 12 años
Puntos: 3
Respuesta: Encriptar datos

tienen que ser legibles después de ser encriptados? osea tiene que tener un decode?
  #3 (permalink)  
Antiguo 09/02/2015, 16:56
 
Fecha de Ingreso: agosto-2014
Mensajes: 18
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Encriptar datos

Utiliza el metodo de encriptación que desees y como recomendación utiliza el campo de tipo BLOB en MySQL. El siguiente método de encriptación es muy bueno:

$NumTarjeta=$_POST['numero'];
$encriptar=sha1($NumTarjeta);
$query=mysql_query("insert into MITABLA(numero_tarjeta)values("'.$encriptar.'")");
echo "Guardado y encriptado";

Espero y te sirva. Saludos...
  #4 (permalink)  
Antiguo 09/02/2015, 17:13
 
Fecha de Ingreso: noviembre-2012
Mensajes: 76
Antigüedad: 12 años
Puntos: 3
Respuesta: Encriptar datos

Cita:
Iniciado por omarvale88 Ver Mensaje
Utiliza el metodo de encriptación que desees y como recomendación utiliza el campo de tipo BLOB en MySQL. El siguiente método de encriptación es muy bueno:

$NumTarjeta=$_POST['numero'];
$encriptar=sha1($NumTarjeta);
$query=mysql_query("insert into MITABLA(numero_tarjeta)values("'.$encriptar.'")");
echo "Guardado y encriptado";

Espero y te sirva. Saludos...
existen bd con muchos de los valores reales. yo recomendaría una mezcla de los dos para evitar la fuerza bruta y las bd de usuarios de internet:
$encriptar=sha1(md5($NumTarjeta));
o
$string="cualquiercosaAbcDE";
$encriptar=sha1($string.md5($NumTarjeta));

pero md5 no se puede desencriptar!!! por eso mi pregunta anterior
Saludos!
  #5 (permalink)  
Antiguo 09/02/2015, 17:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Encriptar datos

Cita:
pero md5 no se puede desencriptar!!! por eso mi pregunta anterior
cybervandal, sucede que MD5 no es un mecanismo de encriptado, no entiendo de dónde sacaste tan brillante idea.

A todos les sugiero leer el apartado de seguridad acá: http://www.phptherightway.com/#security

Aunque ahí se habla de contraseñas aplica igualmente para cuaquier tipo de dato sensible.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 09/02/2015, 18:05
 
Fecha de Ingreso: noviembre-2012
Mensajes: 76
Antigüedad: 12 años
Puntos: 3
Respuesta: Encriptar datos

Cita:
cybervandal, sucede que MD5 no es un mecanismo de encriptado, no entiendo de dónde sacaste tan brillante idea.
Pero se me ha entendido no? Que más dara decir cifrado que encriptado, aquí en España hacemos nuestras propias traduciones ;)
  #7 (permalink)  
Antiguo 09/02/2015, 18:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Encriptar datos

Es que no es lo mismo un cifrado reversible que lo que se hace con MD5. Este permite realizar un hash, pero no "encripta" en el sentido de ocultar algo para luego poder volver a obtenerlo.
Si lo que necesitas es algo que pueda revertirse y recuperar lo anterior, no es MD5 lo que debes usar.
A eso se refiere @pateketrueke.

Probablemente lo que estés buscando es Mcrypt
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 10/02/2015, 08:53
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: Encriptar datos

Muchas gracias por sus respuestas!

Definitivamente necesito un método que sea reversible. Yo quiero guardar en la bd los datos encriptados, pero luego debo poder desencriptarlos para que las personas correspondientes los utilicen.

Por lo tanto MD5 está descartado.

Si lo hago así: $encriptar=sha1($NumTarjeta); como dice omarvale88 ¿luego cómo hago para desencriptarlo?
  #9 (permalink)  
Antiguo 10/02/2015, 09:18
 
Fecha de Ingreso: agosto-2014
Mensajes: 18
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Encriptar datos

Pensandolo bien, desde el punto de vista que menciona pateketrueke tiene razón. En éste caso si se necesita que la información encriptada sea utilizada nuevamente por el usuario, entonces pueden utilizarse metodos como base64 o mycrypt.
Ejemplo:

<?php
$NumTarjeta = $_POST['numero'];
//Encripto
$encriptado = base64_encode($NumTarjeta);
echo $encriptado;
//Desencripto
$desencriptado = base64_decode($encriptado);
echo $desencriptado;
?>

Espero y te quede claro con ésto cybervandal.
  #10 (permalink)  
Antiguo 10/02/2015, 09:26
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Encriptar datos

Base64 no es un método de cifrado
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #11 (permalink)  
Antiguo 10/02/2015, 09:41
 
Fecha de Ingreso: agosto-2014
Mensajes: 18
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Encriptar datos

Cita:
Base64 no es un método de cifrado
Es correcto hhs, Base64 no es un metodo de cifrado pero si es un metodo de codidficación de datos el cual ayuda a que la información no sea legible hasta que éste sea decodificado.
  #12 (permalink)  
Antiguo 10/02/2015, 09:50
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Encriptar datos

Que tu lo utilices de esa forma no significa que eso es:
https://blogs.oracle.com/rammenon/en...se64_explained
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #13 (permalink)  
Antiguo 10/02/2015, 10:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Encriptar datos

¿Cual es el objetivo de "descifrar" una valor así?

Es decir, siendo el mismo efecto de una contraseña: que jamás debe saberse.

¿Por qué?

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 10/02/2015, 12:44
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: Encriptar datos

pateketrueke es un sitio Web donde los usuarios ingresarán sus números de tarjeta para comprar el servicio que éste presta. Mi idea es guardar esos datos encriptados por seguridad. PERO luego esos datos deben poder ser visualizados por lo administradores del sitio quienes se encargarán de procesar los pagos y necesitan tener acceso a esa información, por lo tanto debo poder desencriptarla.
  #15 (permalink)  
Antiguo 10/02/2015, 13:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Encriptar datos

@Integer78: Lo que estás planteando hacer es incorrecto, e ilegal en la inmensa mayoría de los paises.
De hecho, las propias empresas propietarias de las tarjetas deben indicarte cuales son los protocolos de encriptación, y qué restricciones de almacenamientos debes cumplir. Almacenar esa información es algo que tu no puedes decidir, porque no son tuyos, y como te menciono, en casi todos los países esa acción constituye un ilícito.
Es un tipo de dato regulado.
Verifica con la autoridad responsable de las transacciones para ver qué es lo que debes hacer, qué debes usar y qué puedes guardar.

La cosa no es tan simple.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 11/02/2015, 14:28
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: Encriptar datos

gnzsoloyo gracias por la advertencia. Ya mi cliente está consultando con sus abogados y luego me dirán bien qué y cómo hacerlo.

Agradezco a todos por sus respuestas. Dejo el tema abierto porque seguramente después tendré más dudas sobre esto.

Etiquetas: encriptar, mysql
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 21:21.