[Python] aituo per programmino: creazione password ed md5sum
Valerio Pachera
sirio81 a gmail.com
Ven 19 Set 2008 14:39:54 CEST
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
genfile ("prova", 4)
------------
Mi potete cortesemente aiutare a completare questo script?
Aggiungete naturalmente i vostri suggerimenti per migliorarlo.
Googlando ho trovato qualche spunto
def dsvgen(filename,separator=':'):
"""generates a list of values for each line in a dsv file
>>> for row in dsvgen('myfilename'): print row
"""
print "script executed"
inpfile=open(filename)
for line in inpfile:
yield line.strip().split(separator)
inpfile.close()
Qua ho trovato dei metodi che hanno a che fare con la scrittura dei file
http://docs.python.it/html/lib/bltin-file-objects.html
ma non spiega quando usarli. Immagino ad esempio che vadano usato dopo
aver aperto il file come sopra...ma non l'ho ancora letto da nessuna
parte.
Questo è il modulo per il calcolo dell'md5sum usato nello script
http://www.python.org/doc/current/lib/module-md5.html
Maggiori informazioni sulla lista
Python