Giter Site home page Giter Site logo

generator-pass's Introduction

¿Contraseña fuerte?

Para que nuestros datos estén seguros en redes sociales, cuentas de bancos y demás sitios web, necesitamos generar una contraseña fuerte. Pensemos que la contraseña es la primera capa de defensa ante un atacante (ciberdelincuente).

¿Cómo es una contraseña fuerte?

Una contraseña fuerte tiene que tener distintas combinaciones y de una longitud de 8 caracteres o más.

Puede estar compuesta por:

  • Mayúsculas
  • Minúsculas
  • Símbolos
  • Letras

Código de ejemplo para generar contraseñas

Hice una pequeña herramienta básica en Rust para poder realizar la explicación y mostrar ejemplos, de cómo debe ser una contraseña segura y de cómo no debe ser.

Contraseñas solamente de números, letras o símbolos, son relativamente débiles y fáciles de descubrir.

Numeros

fn numbers() -> String {
    let number: Vec<char> = "123456789".chars().collect();
    let  random: String = (0..LENGTH).map(|_|{
        *number.choose(&mut rand::thread_rng()).unwrap()
        }
    ).collect();
    random
}

Ejemplo: 14117833877145556291

Letras: mayuscula y minuscula

fn letter() -> String {
    let letters: Vec<char> = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz".chars().collect();
    let  random: String = (0..LENGTH).map(|_|{
        *letters.choose(&mut rand::thread_rng()).unwrap()
        }
    ).collect();
    random
}

Ejemplo: nRTmaXWIbjQAtSHqPsQB

Simbolos

fn symbol() -> String {
    let symbols: Vec<char> = "!@#$%^&*()_+-=[]{}|;':,./<>?".chars().collect();
    let  random: String = (0..LENGTH).map(|_|{
        *symbols.choose(&mut rand::thread_rng()).unwrap()
        }
    ).collect();
    random
}

Ejemplo: #/?;$-&|@+:/}#';-({@

Combinacion

Este tipo de contraseña es la recomendada ,es una combinacion de letras,numeros y simbolos,es mucho mas fuerte que solo poner letras o numeros.

fn combination() -> String {
    let password: Vec<char> = "!@#$%^&*()_+-=[]{}|;':,./<>?123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz".chars().collect();
    let  random: String = (0..LENGTH).map(|_|{
        *password.choose(&mut rand::thread_rng()).unwrap()
        }
    ).collect();
    random
}

Ejemplo: G1}(FX2IocF[.'@zZnGp

Comprobar contraseña

Recursos

generator-pass's People

Contributors

4c65a avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.