• STATISTIQUES
  • Il y a eu un total de 0 membres et 37165 visiteurs sur le site dans les dernières 24h pour un total de 37 165 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie
    [FR] Le top web
    Nous offrons une sélection la plus large possible de resources webmaster gratuites, hébergement gratuit...
    Webmaster
    [FR] Hackfest
    Le Hackfest est un évènement de sécurité et de piratage informatique au Québec reg...
    Hacking
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [FR] Newbie Contest
    Crackme: 35, Cryptographie: 49, Hacking: 27, Javascript/Java: 17, Logique: 31, Programmation: 23, Stéganographie: 53
    Challenges
    [EN] Lost-chall
    Site de challenge présenté sous la forme de différente saison. Pour passer une saison vous devez avoir accumulÃ...
    Challenges
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Générer un password
13-11-2014, 09h59 (Modification du message : 13-11-2014, 10h14 par gruik.)
Message : #1
cacaphonie Hors ligne
Newbie
*



Messages : 12
Sujets : 3
Points: 11
Inscription : Oct 2014
Générer un password
Salut :p
vu qu'hier j'avais rien à faire j'avais le choix entre : vérifier le niveau de sécurité d'un mdp ou d'en générer un. J'ai choisi celui qui me convenait le mieux Big Grin (pour le moment)
main.py
Code PYTHON :

#/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import random
import string

def genPassword():
    lettre = list(string.ascii_lowercase)
    LETTRE = list(string.ascii_uppercase)
    chiffre = list(string.digits)
    mdpFinal = ""
    while(len(mdpFinal) < 9):
        hasard = random.randint(1, 3)
        if(hasard == 1):
            mdpAjout = random.choice(lettre)
            mdpFinal = mdpFinal + mdpAjout
        elif(hasard == 2):
            mdpAjout = random.choice(LETTRE)
            mdpFinal = mdpFinal + mdpAjout
       else:
            mdpAjout = random.choice(chiffre)
            mdpFinal = mdpFinal + mdpAjout
    print(mdpFinal)
genPassword()
 
+1 (3) -1 (0) Répondre
13-11-2014, 10h14
Message : #2
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: Générer un password
je me suis permis de rajouter la coloration syntaxique python, merci pour le partage Wink
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (0) -1 (0) Répondre
13-11-2014, 10h57
Message : #3
Junky Hors ligne
Snorky Master
*



Messages : 228
Sujets : 35
Points: 203
Inscription : Mar 2013
RE: Générer un password
Bonjour,

Nice bout de code Cacophonie. Smile

Juste une petite chose (tu vas dire que je chipotte Wink ) mais à chaque condition tu fait:
Code PYTHON :

mdpFinal = mdpFinal + mdpAjout
 


Tu peux le faire qu'une seule fois a la fin. Après ton 'else' et ca t'évites de le l'écrire 3 fois. Smile
Code PYTHON :

#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import random
import string

def genPassword():
    lettre = list(string.ascii_lowercase)
    LETTRE = list(string.ascii_uppercase)
    chiffre = list(string.digits)
    mdpFinal = ""
    while(len(mdpFinal) < 9):
        hasard = random.randint(1, 3)
        if(hasard == 1):
            mdpAjout = random.choice(lettre)
        elif(hasard == 2):
            mdpAjout = random.choice(LETTRE)
        else:
            mdpAjout = random.choice(chiffre)
        mdpFinal = mdpFinal + mdpAjout
    print(mdpFinal)
genPassword()
 


De plus tu a oublié le '!' dans ton shébang. Smile

Sinon nice fonction et merci du partage. Smile

Junky,
Pour la sécurité, sous linux, le principal soucis est l'interface chaise/clavier

+1 (0) -1 (0) Répondre
13-11-2014, 11h05
Message : #4
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 271
Inscription : Sep 2012
RE: Générer un password
Tant qu'à chipoter, autant le faire jusqu'au bout :

Code PYTHON :

mdpFinal += mdpAjout
 


Thx pour le partage
+1 (0) -1 (0) Répondre
13-11-2014, 23h25 (Modification du message : 13-11-2014, 23h34 par F50.)
Message : #5
F50 Hors ligne
Newbie
*



Messages : 12
Sujets : 1
Points: 0
Inscription : Jul 2012
RE: Générer un password
Code PYTHON :

lettre = [string.ascii_lowercase]
LETTRE = [string.ascii_uppercase]
chiffre = [string.digits]
 


Suis-je le seul à utiliser [] au lieu de list() ?
+1 (0) -1 (0) Répondre
13-11-2014, 23h28
Message : #6
octarin Hors ligne
Apprenti sorcier
*



Messages : 68
Sujets : 11
Points: 47
Inscription : May 2013
RE: Générer un password
Ptet parce que c'est pas la même chose Big Grin

Code PYTHON :

>>> list("toto")
['t', 'o', 't', 'o]
>>> ["toto"]
["toto"]
Faire des mathématiques c’est donner le même nom à des choses différentes. -- Henri Poincaré
+1 (0) -1 (0) Répondre
13-11-2014, 23h29 (Modification du message : 13-11-2014, 23h31 par b0fh.)
Message : #7
b0fh Hors ligne
Membre actif
*



Messages : 210
Sujets : 17
Points: 309
Inscription : Jul 2012
RE: Générer un password
Peut-être parce que ça ne fait pas la même chose ?

Code PYTHON :

>>> list("abc") == ["abc"]
False
 


Edit: grillé par octarin.

Par contre y mettre en liste explicitement ne sert à rien:

Code PYTHON :

>>> random.choice(string.digits)
'1'
 
+1 (0) -1 (0) Répondre
14-11-2014, 08h39
Message : #8
EpicOut Hors ligne
Banni



Messages : 121
Sujets : 10
Points: 22
Inscription : Feb 2012
RE: Générer un password
hey voici mon code en C:
Code C :

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>

char *genrandompass(int len,unsigned char *buff);

int main(void)
{
    unsigned char *ss=malloc(sizeof(char)*11);
    genrandompass(11,ss);
    printf("%s\r\n",ss);

    return 0;
}

char *genrandompass(int len,unsigned char* buff)
{
int j;
srand (time(NULL));
for(j=0;j<len;++j)
    buff[j]=rand()% 26 + 97;

buff[len]='\0';

}
 
+1 (0) -1 (0) Répondre
14-11-2014, 18h01
Message : #9
Aniem Hors ligne
Newbie
*



Messages : 22
Sujets : 1
Points: 9
Inscription : Jun 2013
RE: Générer un password
Proverbe shadock du jour : Pourquoi faire simple quand c'est si joli de faire compliqué ?

Code BASH :

dd if=/dev/urandom  bs=1 count=6 2>/dev/null | base64 | cut -d= -f1
 


Meilleur alphabet ([a-zA-Z0-9+/] au lieu de simplement [a-zA-Z0-9] ), excellent aléa (urandom étant recommandé pour les besoins crypto, bien qu'apparemment ce soit overrated), plus simple. Pourquoi se casser la tête ? Big Grin
+1 (5) -1 (0) Répondre
14-11-2014, 18h15 (Modification du message : 14-11-2014, 18h19 par notfound.)
Message : #10
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 271
Inscription : Sep 2012
RE: Générer un password
Pour rappel/info, d'autres techniques de générations de password avaient été abordées lors de mon PREMIER post (nostalgie Shy ) dans lequel je m'étais fais défoncé corrigé par b0fh (cadeau de bienvenu ? Big Grin )

Ici => http://n-pn.fr/forum/showthread.php?tid=2445

o/
+1 (0) -1 (0) Répondre
14-11-2014, 18h57
Message : #11
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: Générer un password
Une question, sachant qu'un nombre aléatoire est généré avec le temps, peut-on dire qu'avec une machine identique à celle qui a généré le mot de passe, et avec le même programme, si on exécute ce même programme exactement à la même heure que la machine qui a généré le mot de passe, alors le mot de passe généré en sortie sera le même ?
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre
14-11-2014, 19h02
Message : #12
Aniem Hors ligne
Newbie
*



Messages : 22
Sujets : 1
Points: 9
Inscription : Jun 2013
RE: Générer un password
Un nombre aléatoire n'est pas necessairement généré avec l'horloge. C'est souvent utilisé en tant que seed, par contre.
Utiliser l'horloge est un mauvais moyen d'avoir de l'entropie, et donc de faire de l'aleatoire qui soit sensible.
+1 (0) -1 (0) Répondre
14-11-2014, 19h07
Message : #13
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: Générer un password
(14-11-2014, 18h57)Kiwazaru a écrit : Une question, sachant qu'un nombre aléatoire est généré avec le temps, peut-on dire qu'avec une machine identique à celle qui a généré le mot de passe, et avec le même programme, si on exécute ce même programme exactement à la même heure que la machine qui a généré le mot de passe, alors le mot de passe généré en sortie sera le même ?

oui, c'est pour ça qu'on parle en réalité de générateur de nombres pseudo-aléatoires (PRNG en anglish), et c'est pour cette raison que c'est le composant quasiment le plus critique du cryptosystème
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (1) -1 (0) Répondre
14-11-2014, 20h05
Message : #14
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: Générer un password
Ok ça m'éclaire bien le truc du coup. Merci Smile
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre
14-11-2014, 20h37
Message : #15
eax64 Hors ligne
Newbie
*



Messages : 8
Sujets : 0
Points: 13
Inscription : Nov 2012
RE: Générer un password
(14-11-2014, 18h01)Aniem a écrit : Proverbe shadock du jour : Pourquoi faire simple quand c'est si joli de faire compliqué ?
Code BASH :

dd if=/dev/urandom  bs=1 count=6 2>/dev/null | base64 | cut -d= -f1
 


Qui peut se simplifier par :
Code BASH :

head -c6 /dev/urandom | base64
 


Sur une taille de 6, t'aurais pas de '=' donc même pas besoin du cut :p

Parce que sinon quitte à faire compliquer, on peut s'amuser hein !

Code BASH :

 p="";for i in {1..10}; do for j in $(seq $(($RANDOM%30+10))); do t=$(head -c $RANDOM /dev/urandom | md5sum | cut -d' ' -f1); echo -n $t; sleep 0.01; echo -en "\r$p"; done; p=$p$(head -c1 <<<$t); done;echo -e "$(tr 'a-z0-9' ' ' <<< $t)"
 
+1 (2) -1 (0) Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut