src/eric7/Utilities/crypto/__init__.py

branch
eric7
changeset 9482
a2bc06a54d9d
parent 9473
3f23dbf37dbe
child 9576
be9f8e7e42e0
--- a/src/eric7/Utilities/crypto/__init__.py	Sun Nov 06 11:22:39 2022 +0100
+++ b/src/eric7/Utilities/crypto/__init__.py	Mon Nov 07 17:19:58 2022 +0100
@@ -60,6 +60,8 @@
     """
     Private module function to get the password from the user.
     """
+    from .py3PBKDF2 import verifyPassword
+
     global MasterPassword
 
     pw, ok = QInputDialog.getText(
@@ -69,8 +71,6 @@
         QLineEdit.EchoMode.Password,
     )
     if ok:
-        from .py3PBKDF2 import verifyPassword
-
         masterPassword = Preferences.getUser("MasterPassword")
         try:
             if masterPassword:
@@ -113,6 +113,9 @@
     @return encrypted password (string) and flag indicating
         success (boolean)
     """
+    from .py3AES import encryptData
+    from .py3PBKDF2 import hashPasswordTuple
+
     if masterPW is None:
         if MasterPassword is None:
             __getMasterPassword()
@@ -121,12 +124,8 @@
 
         masterPW = pwDecode(MasterPassword)
 
-    from .py3PBKDF2 import hashPasswordTuple
-
     digestname, iterations, salt, pwHash = hashPasswordTuple(masterPW)
     key = pwHash[:32]
-    from .py3AES import encryptData
-
     try:
         cipher = encryptData(key, pw.encode("utf-8"))
     except ValueError:
@@ -154,6 +153,9 @@
     @return decrypted password (string) and flag indicating
         success (boolean)
     """
+    from .py3AES import decryptData
+    from .py3PBKDF2 import rehashPassword
+
     if not epw.startswith(CryptoMarker):
         return epw, False  # it was not encoded using pwEncrypt
 
@@ -165,9 +167,6 @@
 
         masterPW = pwDecode(MasterPassword)
 
-    from .py3AES import decryptData
-    from .py3PBKDF2 import rehashPassword
-
     hashParameters, epw = epw[3:].rsplit(Delimiter, 1)
     try:
         # recreate the key used to encrypt
@@ -312,12 +311,12 @@
     @return decrypted data (bytes) and flag indicating
         success (boolean)
     """
+    from .py3AES import decryptData
+    from .py3PBKDF2 import rehashPassword
+
     if not edata.startswith(CryptoMarker.encode("utf-8")):
         return edata, False  # it was not encoded using dataEncrypt
 
-    from .py3AES import decryptData
-    from .py3PBKDF2 import rehashPassword
-
     hashParametersBytes, edata = edata[3:].rsplit(Delimiter.encode("utf-8"), 1)
     hashParameters = hashParametersBytes.decode()
     try:

eric ide

mercurial