[Python] aituo per programmino: creazione password ed md5sum

Alessandro Dentella sandro a e-den.it
Ven 19 Set 2008 15:31:17 CEST


On Fri, Sep 19, 2008 at 02:39:54PM +0200, Valerio Pachera wrote:
> Ciao a tutti, è un po' che non metto mano a python e sono comunque un novellino.
> Ho una necessità pratica da usare come esercizio per imparare qualcosa
> di più di python:
> 
> volgio fare un piccolo script per generare delle password ed il relativo md5.
> Come input deve prendere i paramteri "numero di password da creare",
> "il nome del file" dove salvarle ed il "separatore" usato per separare
> le password e l'md5 nel file che verrà scritto.
> 
> Ho creato lo script ma NON SO COME SCRIVERE SU UN FILE IL RISULTATO.
> ecco lo script:
> 
> ----------
> # coding=utf-8
> import md5
> import random
> 
> def genpasswd (lenght=8):
>     passwd=""
>     for num in random.sample(range(0,10), lenght):
>         passwd += str(num)
>     return passwd
> 
> def genlist (records, separator):
>     c = 0
>     passwd = ""
>     md5sum = ""
>     record = []
>     passwd_list = []
>     while c < records:
>         new_passwd = genpasswd()
>         new_md5 = md5.new (new_passwd).hexdigest() + separator
>         new_passwd += separator
>         record = [new_passwd, new_md5]
>         passwd_list.append (record)
>         c += 1
>     return passwd_list
> 
> def genfile (filename, records=1, separator=';'):
>     passwd_list = genlist(records, separator)
>     print "devo scrivere i seguenti record sul file ", filename
>     for record in passwd_list:
>         #scrivi i record su un file di testo
>         print record

una roba così? oltre ad 'open' che dovresti vedere documentata da tante
parti, nota l'uso di join, operatore di una stringa

def genlist (records, separator):
    c = 0
    passwd = ""
    md5sum = ""
    record = []
    passwd_list = []
    while c < records:
        new_passwd = genpasswd()
        new_md5 = md5.new (new_passwd).hexdigest()
        passwd_list.append(separator.join([new_passwd, new_md5]))
        c += 1
    return passwd_list

def genfile (filename, records=10, separator=';'):
    passwd_list = genlist(records, separator)
    f = open(filename, 'w')
    #scrivi i record su un file di testo
    f.write("\n".join(passwd_list))
    f.write('\n')
    f.close()


Maggiori informazioni sulla lista Python