Cifrar y descifrar archivos en Linux con gpg

GnuPG (o gpg) es un software que permite cifrar y firmar datos y comunicaciones, así como archivos. Viene incluido en Linux por defecto y hoy vamos a ver una introducción a su uso para cifrar y descifrar archivos con una contraseña dada por nosotros. También vamos a ver cómo eliminar los archivos originales con srm o secure remove. La página oficial de GNU Privacy Guard es gnupg.org. ...

mayo 21, 2019 · 3 min · 566 palabras · Parzibyte

Generar contraseñas seguras con pwgen en Linux Ubuntu

Este es un post introductorio en donde expongo la instalación de pwgen (un generador de contraseñas o password generator) algunos ejemplos y formas de uso para generar contraseñas seguras en Linux Ubuntu. ...

mayo 20, 2019 · 3 min · 473 palabras · Parzibyte

Laravel - registrar usuario manualmente

En muchos casos al usar Laravel vamos a necesitar registrar un usuario manualmente. Ya sea en nuestro ambiente de pruebas o incluso en el ambiente de producción, por alguna u otra cosa. Por ejemplo, en mi caso he desactivado el registro de usuarios en la autenticación, así que si necesito registrar uno manualmente. Justamente escribo este post, para explicar algunas maneras de registrar manualmente a un usuario en Laravel para que pueda iniciar sesión y en resumen autenticarse. ...

abril 29, 2019 · 3 min · 519 palabras · Parzibyte

Generar UUID o ID único en Node JS

Un UUID es un identificador único; personalmente lo uso para generar cadenas aleatorias y criptográficamente seguras. Hoy veremos cómo generar un ID único o identificador único con Node JS y un paquete llamado UUID. Vamos a usar la versión 4 de UUID, es decir, el paquete uuid/v4 de Node. Eso nos dará una cadena como la siguiente: c2f1a568-fd6e-46c9-95d7-e6aafd6d56bd Se supone que la probabilidad de que se repita es casi nula, y que es aleatoria y segura; es decir, que no es predecible. ...

febrero 26, 2019 · 2 min · 352 palabras · Parzibyte

Laravel: Loguear errores y mensajes a archivo de log con Monolog

Aprendiendo a loguear errores y mensajes con Laravel 5.7 Hoy vamos a ver una cosa imprescindible en toda aplicación web: el logueo de mensajes o errores dentro de un log. Laravel, el framework más poderoso de PHP (según yo), viene con el logueo de errores configurado por defecto y permite loguear errores de cualquier tipo en pocas líneas gracias a Monolog. Por cierto, si no quieres loguear con Laravel y quieres usar el lenguaje puro, mira este post: Loguear mensajes de error y debug a archivos con PHP. ...

febrero 18, 2019 · 3 min · 593 palabras · Parzibyte

Algoritmo de cifrado ROT13 en Ruby

El algoritmo ROT 13 es una variante del cifrado César (cuya implementación en Ruby ya vimos) en donde el número de rotaciones es 13; la mitad de la cantidad de letras que existen en el alfabeto inglés o como se le diga. Hoy veremos cómo implementar una función que codifique y decodifique una cadena usando el algoritmo ROT 13 en el lenguaje de programación Ruby. ...

febrero 16, 2019 · 3 min · 456 palabras · Parzibyte

Algoritmo de cifrado César en Ruby

Anteriormente vimos el cifrado César en C y el cifrado César en Python. No explicaré detalladamente cómo funciona el algoritmo pues a ello ya le dediqué otro post. Lo que nos reúne aquí hoy es la implementación del algoritmo de “cifrado” César en el lenguaje de programación Ruby. Al final vamos a crear una función que cifra y descifra según el cifrado de César, con un número de rotaciones definido por nosotros. ...

febrero 15, 2019 · 4 min · 648 palabras · Parzibyte

Android 6: Ejemplo de solicitud de permisos en tiempo de ejecución

Usar requestPermissions y onRequestPermissionsResult para pedir permisos en Android A partir de la versión 6 de Android, los permisos “riesgosos” deben ser requeridos en tiempo de ejecución y no poniéndolos simplemente en el manifiesto de nuestra app. Citando a Android Developers: En aquellas de tus apps que estén orientadas a Android 6.0 (nivel de API 23) o versiones posteriores, asegúrate de comprobar y solicitar los permisos en tiempo de ejecución. Para determinar si se concedió un permiso a tu app, llama al nuevo método checkSelfPermission(). Para solicitar un permiso, llama al nuevo método requestPermissions(). Incluso cuando tu app no tenga como objetivo Android 6.0 (nivel de API 23), debes probarla de acuerdo con el nuevo modelo de permisos. Para muchas personas esto es un poco complejo y enredado, por ello es que hoy vengo a explicar cómo funcionan los permisos a partir de Android 6 y dar algunos ejemplos. ...

febrero 12, 2019 · 7 min · 1384 palabras · Parzibyte

Loguear errores y mensajes en PHP en archivo de texto con un logger

Crear un simple logger en PHP para depurar y escribir errores en archivo de texto Depurar nuestro código de PHP es uno de los pasos más importantes de la programación. Una gran ayuda que tenemos a nuestra disposición son los logs o archivos de log. Hoy veremos cómo escribir mensajes de error y depuración (o debug) en archivos de texto usando PHP sin usar librerías externas, únicamente funciones nativas y un poco de código al inicio de nuestro script. Gracias a esto podremos escribir mensajes de información y también llevar un registro de errores sin mostrarlos al usuario, con fecha y hora de llamada así como el script de llamada. Un ejemplo del log que vamos a crear (esto dependerá de tu app pero para que te des una idea) es este: [07-Feb-2019 09:37:29 America/Mexico_City] Soy un mensaje [07-Feb-2019 09:37:29 America/Mexico_City] PHP Warning: Division by zero in D:\desarrollo_php\htdocs\loguear\index.php on line 9 [07-Feb-2019 09:37:29 America/Mexico_City] Mensaje desde la línea 12 del archivo D:\desarrollo_php\htdocs\loguear\index.php [07-Feb-2019 09:37:29 America/Mexico_City] Hola, yo soy parzibyte y mi sitio es parzibyte.me [07-Feb-2019 09:37:29 America/Mexico_City] Los personajes son: a:4:{i:0;s:5:"Crash";i:1;s:10:"Fake Crash";i:2;s:4:"Pura";i:3;s:5:"Polar";} [07-Feb-2019 09:37:29 America/Mexico_City] La mascota: array ( 'nombre' => 'Maggie', 'edad' => 3, 'amigos' => array ( 0 => array ( 'nombre' => 'Guayaba', 'edad' => 2, ), 1 => array ( 'nombre' => 'Meca', 'edad' => 5, ), 2 => array ( 'nombre' => 'Snowball', 'edad' => 2, ), ), ) [07-Feb-2019 09:37:29 America/Mexico_City] PHP Fatal error: Uncaught Exception: Yo soy una excepción muy malvada in D:\desarrollo_php\htdocs\loguear\index.php:48 Stack trace: #0 {main} thrown in D:\desarrollo_php\htdocs\loguear\index.php on line 48 Veamos entonces cómo loguear con PHP, además de evitar mostrar los errores al usuario, asegurando nuestras aplicaciones web. ...

febrero 11, 2019 · 6 min · 1241 palabras · Parzibyte

Autenticación desde Windows a Ubuntu Server con PuTTY y claves SSH

Para loguearnos en un servidor con Ubuntu Server no se recomienda usar el acceso por usuario y contraseña; sino por claves públicas y privadas. De esta manera, no se necesita poner la contraseña, sino simplemente proporcionar un archivo con la clave privada. En este tutorial vamos a ver cómo crear un par de claves con PuTTYgen, agregarlas a nuestro servidor en el archivo authorized_keys y finalmente loguearnos a través de PuTTY. Todo esto es para que al final podamos usar SSH para conectarnos a un servidor de Linux desde Windows. Nota: esto conecta desde Windows a Ubuntu. Si quieres, en cambio, conectarte desde Ubuntu a otra máquina con Ubuntu aquí está el tutorial. ...

enero 11, 2019 · 6 min · 1128 palabras · Parzibyte