[FIX] auth_crypt: use system random number generator

Switch to system random as number generator instead of the
default PRNG, which is not recommended for generating
security-related values such as unique tokens.

(Complements parent commit)

Closes #7761
This commit is contained in:
Olivier Dony
2015-07-29 13:49:11 +02:00
parent 93f5f86afd
commit b4de311b0c
+2 -2
View File
@@ -11,7 +11,7 @@
import hashlib import hashlib
import hmac import hmac
import logging import logging
from random import sample import random
from string import ascii_letters, digits from string import ascii_letters, digits
import openerp import openerp
@@ -28,7 +28,7 @@ res_users.USER_PRIVATE_FIELDS.append('password_crypt')
def gen_salt(length=8, symbols=None): def gen_salt(length=8, symbols=None):
if symbols is None: if symbols is None:
symbols = ascii_letters + digits symbols = ascii_letters + digits
return ''.join(sample(symbols, length)) return ''.join(random.SystemRandom().sample(symbols, length))
def md5crypt( raw_pw, salt, magic=magic_md5 ): def md5crypt( raw_pw, salt, magic=magic_md5 ):
""" md5crypt FreeBSD crypt(3) based on but different from md5 """ md5crypt FreeBSD crypt(3) based on but different from md5