0 00:00:00,000 --> 00:00:04,000 En este vídeo vamos a ver un poco la encriptación en MySQL 1 00:00:04,000 --> 00:00:07,000 que sepáis que muchas veces se hace 2 00:00:07,000 --> 00:00:10,000 la encriptación fuera, en javascript o en otro lenguaje 3 00:00:10,000 --> 00:00:14,000 y se inserta el dato encriptado, pero que sepáis que en MySQL se puede hacer con 4 00:00:14,000 --> 00:00:16,000 comandos propios de MySQL. 5 00:00:16,000 --> 00:00:20,000 Los tenéis aquí, explicados en Encryption y en Encryption 2, 6 00:00:20,000 --> 00:00:23,000 el AES Encrypt y el AES Decrypt, por ejemplo, 7 00:00:23,000 --> 00:00:25,000 que nos permiten 8 00:00:25,000 --> 00:00:27,000 insertar datos 9 00:00:27,000 --> 00:00:28,000 por ejemplo 10 00:00:28,000 --> 00:00:31,000 encriptados o desencriptados. Podemos 11 00:00:31,000 --> 00:00:35,000 coger este dato, entramos en nuestra base de datos que tenemos arrancada 12 00:00:35,000 --> 00:00:38,000 y ejecutamos 13 00:00:38,000 --> 00:00:40,000 SELECT 14 00:00:40,000 --> 00:00:41,000 AES ENCRYPT 15 00:00:41,000 --> 00:00:43,000 y esto lo que hace es 16 00:00:43,000 --> 00:00:49,000 que hace un SELECT y te lo encripta en formato VAR BINARY. 17 00:00:49,000 --> 00:00:51,000 Si yo cojo este valor 18 00:00:51,000 --> 00:00:53,000 y hago un AES DECRYPT 19 00:00:53,000 --> 00:00:55,000 de ello 20 00:00:55,000 --> 00:00:57,000 tendría que hacer AES DECRYPT 21 00:00:57,000 --> 00:01:00,000 no sé si está en algún sitio 22 00:01:00,000 --> 00:01:02,000 aquí explicado 23 00:01:02,000 --> 00:01:04,000 tenéis el AES DECRYPT 24 00:01:04,000 --> 00:01:05,000 cogeis 25 00:01:05,000 --> 00:01:09,000 el AES DECRYPT de este valor y de la clave anterior 26 00:01:09,000 --> 00:01:12,000 que no sé si la tengo, MYKSTREAM 27 00:01:12,000 --> 00:01:16,000 que sería 28 00:01:19,000 --> 00:01:21,000 este valor 29 00:01:21,000 --> 00:01:27,000 AES DECRYPT 30 00:01:27,000 --> 00:01:29,000 con un SELECT delante 31 00:01:29,000 --> 00:01:33,000 AES DECRYPT de este valor 32 00:01:33,000 --> 00:01:36,000 y de MYKSTREAM 33 00:01:36,000 --> 00:01:38,000 que no teníamos en el 34 00:01:38,000 --> 00:01:43,000 anterior, en el ejemplo 35 00:01:43,000 --> 00:01:45,000 con esto deberíamos 36 00:01:45,000 --> 00:01:47,000 recibir el MYTEST 37 00:01:47,000 --> 00:01:50,000 y este antes 38 00:01:50,000 --> 00:01:56,000 ejecutamos 39 00:01:56,000 --> 00:02:00,000 tiene que ser un STRING 40 00:02:00,000 --> 00:02:01,000 y al ejecutarlo 41 00:02:01,000 --> 00:02:03,000 sacamos el MYTEST 42 00:02:03,000 --> 00:02:07,000 esto nos puede servir para insertar datos, por ejemplo yo me he creado una tabla T 43 00:02:07,000 --> 00:02:09,000 este ejemplo 44 00:02:09,000 --> 00:02:10,000 que tengo un ID 45 00:02:10,000 --> 00:02:16,000 un nombre y un VAR BINARY, si lo vemos aquí no sé dónde se ve exactamente 46 00:02:16,000 --> 00:02:19,000 si aquí la estructura es de tipo VAR BINARY con una longitud 47 00:02:19,000 --> 00:02:22,000 lo suficientemente grande para que quepa 48 00:02:22,000 --> 00:02:26,000 y entonces aquí tendríamos ID, nombre y secreto 49 00:02:26,000 --> 00:02:28,000 ¿qué hago para 50 00:02:28,000 --> 00:02:30,000 para meter otro valor? 51 00:02:30,000 --> 00:02:32,000 pues hago INSERT INTO 52 00:02:32,000 --> 00:02:35,000 lo tenéis aquí también 53 00:02:35,000 --> 00:02:38,000 INSERT INTO, la tabla que sea 54 00:02:38,000 --> 00:02:42,000 y a la altura de ese valor 55 00:02:42,000 --> 00:02:47,000 en mi caso la tabla es 3.EXEMPLO 56 00:02:47,000 --> 00:02:48,000 tendríamos 57 00:02:48,000 --> 00:02:50,000 un ID, dos 58 00:02:50,000 --> 00:02:52,000 por ejemplo 59 00:02:53,000 --> 00:02:54,000 de nombre, otro 60 00:02:54,000 --> 00:02:56,000 y su secreto 61 00:02:56,000 --> 00:02:57,000 va a ser 62 00:02:57,000 --> 00:02:58,000 ASENCRIPT 63 00:02:58,000 --> 00:03:02,000 secreto 64 00:03:02,000 --> 00:03:06,000 y la contraseña o la clave, PWLED 65 00:03:06,000 --> 00:03:08,000 si esto lo ejecutamos 66 00:03:08,000 --> 00:03:10,000 se insertaría la tabla 67 00:03:10,000 --> 00:03:13,000 y al verlo con un SELECT nosotros lo vemos 68 00:03:13,000 --> 00:03:15,000 encriptado 69 00:03:15,000 --> 00:03:17,000 pero si no sabemos la clave 70 00:03:17,000 --> 00:03:18,000 podemos 71 00:03:18,000 --> 00:03:21,000 recuperarlo con un SELECT 72 00:03:21,000 --> 00:03:23,000 entonces SELECT 73 00:03:23,000 --> 00:03:26,000 FROM EJEMPLO 74 00:03:26,000 --> 00:03:30,000 y entonces en vez de hacer eso vamos a seleccionar 75 00:03:30,000 --> 00:03:31,000 el ID 76 00:03:31,000 --> 00:03:33,000 el nombre 77 00:03:33,000 --> 00:03:34,000 y 78 00:03:34,000 --> 00:03:41,000 el ASENCRIPT 79 00:03:43,000 --> 00:03:46,000 de la columna SECRETO 80 00:03:46,000 --> 00:03:48,000 con la clave 81 00:03:48,000 --> 00:03:52,000 PWLED 82 00:03:52,000 --> 00:03:53,000 de esta forma 83 00:03:53,000 --> 00:03:55,000 vamos a coger todos los ejemplos 84 00:03:55,000 --> 00:03:57,000 ¿qué va a pasar? 85 00:03:57,000 --> 00:04:00,000 que el primero no lo va a sacar 86 00:04:00,000 --> 00:04:02,000 la clave la debería 87 00:04:02,000 --> 00:04:04,000 este secreto sí lo saca, pero el primero 88 00:04:04,000 --> 00:04:06,000 no sé con qué clave 89 00:04:06,000 --> 00:04:09,000 lo inserté, probablemente con PWLED 90 00:04:09,000 --> 00:04:14,000 porque si lo inserté con otra password 91 00:04:14,000 --> 00:04:15,000 no lo debería haber sacado 92 00:04:15,000 --> 00:04:18,000 entonces 93 00:04:18,000 --> 00:04:22,000 vamos a probarlo, a hacer esto con otra clave 94 00:04:22,000 --> 00:04:25,000 para que veáis que la clave es importante 95 00:04:25,000 --> 00:04:27,000 si metemos otra clave 96 00:04:27,000 --> 00:04:28,000 te da un error 97 00:04:28,000 --> 00:04:31,000 porque no es capaz de descifrarlo 98 00:04:31,000 --> 00:04:34,000 si tenéis unos con unas claves y otros con otras 99 00:04:34,000 --> 00:04:39,000 te desencriptarán solo los que coincidan con la clave 100 00:04:39,000 --> 00:04:40,000 entonces para encriptar 101 00:04:40,000 --> 00:04:41,000 ASENCRIPT 102 00:04:41,000 --> 00:04:42,000 para insertarlo 103 00:04:43,000 --> 00:04:44,000 y para encriptar 104 00:04:44,000 --> 00:04:45,000 ASENCRIPT