1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Générer des mots de passe à chaine unique

Discussion dans 'Test de logiciel & Echange d'expériences' créé par Kobex, Fev 21, 2018.

  1. Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257
    Bonjour,

    Je vous partage mes trois procédures qui permet de générer des mots de passe à chaine aléatoire.
    Si vous aimez, un petit j’aime fait plaisir....

    Génération d'un token :
    Code (Text):
    PROCÉDURE TokenChaineOLD(nN)
    InitHasard()
    sChaîneAléatoire est une chaîne

    BOUCLE (nN)
       
        nCaractère est un entier = Hasard(65,122)
        TANTQUE (91 <= nCaractère <= 96)
            nCaractère = Hasard(65,122)
        FIN
        sChaîneAléatoire += Caract(nCaractère)
    FIN

    RENVOYER sChaîneAléatoire
    Génération d'un mot de passe :
    Code (Text):
    PROCÉDURE GenPasswordOLD(sPass est une chaîne)
    sSalt est une chaîne = TokenChaine(8)
    bufHash_Binaire est un Buffer = HashChaîne(HA_HMAC_SHA_160, sPass+sSalt, sSalt)
    sHash_Hexa est une chaîne

    POUR nIndice = 1 _À_ Taille(bufHash_Binaire)
        sHash_Hexa += NumériqueVersChaîne(Asc(bufHash_Binaire[[nIndice]]),"02x")
    FIN

    sHashDecrypt est une chaîne = Crypte(sHash_Hexa, "", crypteRapide + compresseChaîneCourte, encodeBASE64)
    sHashDecrypt = Remplace(sHashDecrypt,RC,"")

    RENVOYER sSalt+sHashDecrypt
    et pour vérifier le mot de passe :
    Code (Text):
    PROCÉDURE VerifPasswordOLD(sHashVerif est une chaîne, sPass est une chaîne)
    sSalt est une chaîne = Gauche(sHashVerif,8)
    sHash est une chaîne = Milieu(sHashVerif,9)
    sHashDecrypt est une chaîne = Décrypte(sHash, "", crypteRapide + compresseChaîneCourte, encodeBASE64)
    bufHash_Binaire est un Buffer

    POUR nInd = 1 _À_ Taille(sHashDecrypt) PAS 2
        bufHash_Binaire += Caract(Val(sHashDecrypt[[nInd SUR 2]], "x"))
    FIN

    SI HashVérifieChaîne(HA_HMAC_SHA_160, sPass+sSalt, bufHash_Binaire, sSalt) = Vrai ALORS
        RENVOYER Vrai
    SINON
        RENVOYER Faux
    FIN
    Bon test ;)
     
    #1 Kobex, Fev 21, 2018
    Dernière édition: Fev 21, 2018
    Tags:
  2. Advita

    Advita Active Member
    MEMBRE WX

    Inscrit:
    Jan 13, 2018
    Messages:
    74
    J'aime reçus:
    109
    Intéressant. Merci
     
  3. joker

    joker New Member
    MEMBRE WX

    Inscrit:
    Jan 30, 2018
    Messages:
    0
    J'aime reçus:
    14
  4. cyberripper

    cyberripper Active Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 26, 2018
    Messages:
    76
    J'aime reçus:
    176
    Merci Kobex

    @+ Cyber
     
  5. ProDev

    ProDev Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    373
    J'aime reçus:
    373
    Grand merci pour ce partage ;)
     
  6. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232
    Ca peut aider pour les Webservices
     
  7. Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257
    je vais bientôt proposer une évolution un peut plus sophistiqué ;)
     
    Pascal apprécie ceci.
  8. Pascal

    Pascal Active Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    82
    J'aime reçus:
    126
    Bonsoir et merci Kobex.

    Cordialement,
    Pascal
     
  9. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232
    Bonsoir,
    Je viens de tester le projet. Sous Windows c'est très bien. Il faut maintenant qu'on travaille pour qu'il soit multiplateforme, pour cela il faut résoudre le problème du UTF8, il faut faire les conversions. Par exemple, WM est presque toujours sous Unicode. en ANSI c'est impécable
     
  10. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    511
    J'aime reçus:
    740

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour,

    Je vous partage mes trois procédures qui permet de générer des mots de passe à chaine aléatoire.
    Si vous aimez, un petit j’aime fait plaisir....

    Génération d'un token :
    Code (Text):
    PROCÉDURE TokenChaineOLD(nN)
    InitHasard()
    sChaîneAléatoire est une chaîne

    BOUCLE (nN)
     
        nCaractère est un entier = Hasard(65,122)
        TANTQUE (91 <= nCaractère <= 96)
            nCaractère = Hasard(65,122)
        FIN
        sChaîneAléatoire += Caract(nCaractère)
    FIN

    RENVOYER sChaîneAléatoire
    Génération d'un mot de passe :
    Code (Text):
    PROCÉDURE GenPasswordOLD(sPass est une chaîne)
    sSalt est une chaîne = TokenChaine(8)
    bufHash_Binaire est un Buffer = HashChaîne(HA_HMAC_SHA_160, sPass+sSalt, sSalt)
    sHash_Hexa est une chaîne

    POUR nIndice = 1 _À_ Taille(bufHash_Binaire)
        sHash_Hexa += NumériqueVersChaîne(Asc(bufHash_Binaire[[nIndice]]),"02x")
    FIN

    sHashDecrypt est une chaîne = Crypte(sHash_Hexa, "", crypteRapide + compresseChaîneCourte, encodeBASE64)
    sHashDecrypt = Remplace(sHashDecrypt,RC,"")

    RENVOYER sSalt+sHashDecrypt
    et pour vérifier le mot de passe :
    Code (Text):
    PROCÉDURE VerifPasswordOLD(sHashVerif est une chaîne, sPass est une chaîne)
    sSalt est une chaîne = Gauche(sHashVerif,8)
    sHash est une chaîne = Milieu(sHashVerif,9)
    sHashDecrypt est une chaîne = Décrypte(sHash, "", crypteRapide + compresseChaîneCourte, encodeBASE64)
    bufHash_Binaire est un Buffer

    POUR nInd = 1 _À_ Taille(sHashDecrypt) PAS 2
        bufHash_Binaire += Caract(Val(sHashDecrypt[[nInd SUR 2]], "x"))
    FIN

    SI HashVérifieChaîne(HA_HMAC_SHA_160, sPass+sSalt, bufHash_Binaire, sSalt) = Vrai ALORS
        RENVOYER Vrai
    SINON
        RENVOYER Faux
    FIN
    Bon test ;)
    Cliquez pour agrandir...
    Je vous remercie. :)
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Je vous remercie. :)
    Cliquez pour agrandir...
    Si Jamais il y a du nouveau , je peux faire les tests. Mais il faut résoudre le problème de UTF8 pour gérer plusieurs plateforme
     
  • hammatag

    hammatag New Member

    Inscrit:
    Jan 10, 2018
    Messages:
    15
    J'aime reçus:
    1
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232
    Pour que tu comprennes bien, Quand tu es entre plusieurs plateforme, Tu peux bosser en Unicode, mais en cas de cryptage, il vaut mieux être en UTF8 au niveau des chaine
     
  • Partager cette page

    Chargement...