Crear contraseñas seguras con R

in r •  7 years ago 

Ahora que está tan de moda la criptografía gracias al Bitcoin, voy a explicaros una forma muy sencilla de generar contraseñas robustas y que al mismo tiempo sean fáciles de recordar,..... usando R, claro.

Simplemente tenemos que generar el hash de la palabra o frase que nos guste. Recordaremos la frase pues es legible y la entendemos, pero al pasarla por el algoritmo de criptografía que elijamos nos la transforma en algo completamente indescifrable y robusto.

Un HASH es simplemente el resultado de una función cripto, con la peculiaridad de que la función genera un resultado único e irrepetible para cada entrada y para la misma entrada siempre genera el mismo resultado.

Si le pasamos la palabra "mesa" a la función SHA256 que es la que usa bitcoin nos da esto: 73e29454bd930074942b1784b43dc4a57a669751871b38c92f2c7293e06a9720.

Si cambiamos cualquier cosa por ejemplo escribimos "meso" cambiando la a final por una o el resultado es completamente diferente: 8a685ce757d551c26795699c7c80037c04dda37d05115a2cea8677dc0eb28165

Código generador de HASH

La librería digest de R contiene muchos algoritmos de criptografía, os dejo la siguiente función para a partir de una palabra o frase cualquiera generar los hash en distintos algoritmos, y luego podeis elegir uno de ellos para vuestra contraseña, sabiendo que es simplemente el hash de vuestra frase:

   ## pasar una palabra a cod criptografico
    library(digest)

    pasa_cripto <- function(palabra){
         algos <- c("md5","sha1","crc32","sha256","sha512","xxhash32","xxhash64","murmur32")
           for (i in seq_along(algos)){
             print(paste(algos[i],":  ",digest(palabra, algo=algos[i], serialize=FALSE)))
           }
         }

Uso de la función

Ahora si queremos generar el HASH de la frase siguiente : "en un lugar de la Mancha", ejecutamos el código en R y obtendremos estos resultados:

  pasa_cripto("en un lugar de la Mancha")

[1] "md5 : 07abe2834ca05d5bbfbada9a5cc27691"
[1] "sha1 : 6c6328dc889967a0755c900c837c9d21f6cb4c27"
[1] "crc32 : 95db70dc"
[1] "sha256 : b03b98fd46e6ca719abe0793c4dbb4064961776e21616a1e925f635a558559e2"
[1] "sha512 : c62cf8c3e0c50cb3113ee7334e4084b018f1b8a6c5009d877605f70048645d154b55651b83362fde41bf0a01efc3311d8d099aa21eeb704e1b1dd48070b89924"
[1] "xxhash32 : 6993a3bc"
[1] "xxhash64 : 79fec7ef60031953"
[1] "murmur32 : d254b76d"

Esto es todo amigos.... Saludos en enRdados

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!