Sto scrivendo un servizio web che memorizza i dati che saranno condivisi tra due sistemi separati.
/session/requestNewSession?args=<data>
= > ritorna ID di sessione
/session/requestArgs?session=<session id>
= > restituisce <data>
memorizzato con la chiave <session id>
Il codice è implementato in python nella libreria twisted matrix e ho scritto il mio id id di sessione:
private_secret = os.urandom(64)
def generateRandomSessionKey():
rawdata = private_secret + str(time.time()) + string.join(map(chr, [random.randint(0,255) for x in range(100)]),"")
session_key = hashlib.sha256(rawdata).hexdigest()
del(rawdata)
return session_key
Questo è un modo corretto di generare un ID di sessione sicuro (non gestibile)? Se no, qualche idea su cosa dovrei fare in modo diverso?