changeset 5fa47ee46ce6 in trytond:default
details: https://hg.tryton.org/trytond?cmd=changeset&node=5fa47ee46ce6
description:
        Use argon2 or scrypt to hash password by default

        issue10529
        review359761002
diffstat:

 CHANGELOG                    |  1 +
 doc/topics/configuration.rst |  3 ++-
 setup.py                     |  1 +
 trytond/res/user.py          |  7 +++++++
 4 files changed, 11 insertions(+), 1 deletions(-)

diffs (56 lines):

diff -r b565612ca1fb -r 5fa47ee46ce6 CHANGELOG
--- a/CHANGELOG Mon Jul 12 23:14:32 2021 +0200
+++ b/CHANGELOG Mon Jul 12 23:31:09 2021 +0200
@@ -1,3 +1,4 @@
+* Use argon2 or scrypt to hash password by default
 * Allow PYSON Expression as key for PYSON In with dict object
 * Add method to format warning name with records
 * Add option to trytond-console to start a readonly transaction
diff -r b565612ca1fb -r 5fa47ee46ce6 doc/topics/configuration.rst
--- a/doc/topics/configuration.rst      Mon Jul 12 23:14:32 2021 +0200
+++ b/doc/topics/configuration.rst      Mon Jul 12 23:31:09 2021 +0200
@@ -442,7 +442,8 @@
 
 The path to the `INI file to load as CryptContext
 
<https://passlib.readthedocs.io/en/stable/narr/context-tutorial.html#loading-saving-a-cryptcontext>`_.
-If not path is set, Tryton will use the schemes ``bcrypt`` or 
``pbkdf2_sha512``.
+If no path is set, Tryton will use the schemes ``argon2``, ``scrypt``,
+``bcrypt`` or ``pbkdf2_sha512``.
 
 Default: ``None``
 
diff -r b565612ca1fb -r 5fa47ee46ce6 setup.py
--- a/setup.py  Mon Jul 12 23:14:32 2021 +0200
+++ b/setup.py  Mon Jul 12 23:31:09 2021 +0200
@@ -171,6 +171,7 @@
         'graphviz': ['pydot'],
         'Levenshtein': ['python-Levenshtein'],
         'BCrypt': ['passlib[bcrypt]'],
+        'Argon2': ['passlib[argon2]'],
         'html2text': ['html2text'],
         'weasyprint': ['weasyprint'],
         'coroutine': ['gevent>=1.1'],
diff -r b565612ca1fb -r 5fa47ee46ce6 trytond/res/user.py
--- a/trytond/res/user.py       Mon Jul 12 23:14:32 2021 +0200
+++ b/trytond/res/user.py       Mon Jul 12 23:31:09 2021 +0200
@@ -36,6 +36,10 @@
     import bcrypt
 except ImportError:
     bcrypt = None
+try:
+    import argon2
+except ImportError:
+    argon2 = None
 
 from trytond.cache import Cache
 from trytond.config import config
@@ -66,6 +70,9 @@
     schemes = ['pbkdf2_sha512']
     if bcrypt:
         schemes.insert(0, 'bcrypt')
+    schemes.insert(0, 'scrypt')
+    if argon2:
+        schemes.insert(0, 'argon2')
     CRYPT_CONTEXT = CryptContext(schemes=schemes)
 
 

Reply via email to