Cómo encriptar cadenas de texto con el algoritmo Blowfish en Node o nuestro navegador
Blowfish es un sistema de codificación de bloques simétricos. Nos permite codificar información con una llave y decodificarla sólo con la misma llave. El algoritmo Blowfish no tiene patente asociada y es de dominio público.
¿Qué es Blowfish?
Blowfish es un sistema de codificación de bloques simétricos. Nos permite codificar información con una llave y decodificarla sólo con la misma llave. El algoritmo Blowfish no tiene patente asociada y es de dominio público. Su inventor es Bruce Schneier.
Si queréis obtener más información sobre el algoritmo, podéis consultar los siguiente enlaces:
La librería agorlov/javascript-blowfish
Esta librería nos permite aplicar fácilmente el algoritmo Blowfish en Javascript, ya sea en Node o navegador. El funcionamiento es muy sencillo, a continuación vemos un bloque de código para aplicar Blowfish en una cadena de texto con una llave sencilla:
var blowfishInstance = new Blowfish("mi llave muy secreta"); var encrypted = blowfishInstance.encrypt("mensaje secreto");
Y para decodificar el mensaje guardado en la variable encrypted:
var decrypted = blowfishInstance.decrypt(encrypted); decrypted = blowfishInstance.trimZeros(decrypted);
Para usarla en nuestro navegador, basta incluir la referencia al archivo de Javascript en el HTML y el objeto de Javascript Blowfish estará expuesto en window. Funciona incluso con Internet Explorer 8!.
Librería de encriptación agorlov/javascript-blowfish: https://github.com/agorlov/javascript-blowfish