Estoy escribiendo un servicio web que almacena datos que se compartirán entre dos sistemas separados.
/session/requestNewSession?args=<data>
= > devuelve el ID de sesión
/session/requestArgs?session=<session id>
= > devuelve <data>
almacenado con la clave <session id>
El código se implementa en python en la biblioteca de matriz torcida, y he escrito mi propio generador de ID de sesión:
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
¿Es esta una forma adecuada de generar un ID de sesión seguro (no presumible)? Si no, ¿alguna idea sobre lo que debería hacer de manera diferente?