Browse Source

Fix pycryptodome support when pycrypto is not available

pull/47/head
Benjamin Renard 4 months ago committed by R4SAS
parent
commit
869cf130a4
  1. 11
      pbincli/format.py

11
pbincli/format.py

@ -19,6 +19,10 @@ try:
"\tpip uninstall pycrypto") "\tpip uninstall pycrypto")
else: else:
from Crypto.Random import get_random_bytes from Crypto.Random import get_random_bytes
except ImportError:
try:
from Cryptodome.Cipher import AES
from Cryptodome.Random import get_random_bytes
except ImportError: except ImportError:
PBinCLIError("Unable import pycryptodome") PBinCLIError("Unable import pycryptodome")
@ -120,8 +124,15 @@ class Paste:
def __deriveKey(self, salt): def __deriveKey(self, salt):
try:
from Crypto.Protocol.KDF import PBKDF2 from Crypto.Protocol.KDF import PBKDF2
from Crypto.Hash import HMAC, SHA256 from Crypto.Hash import HMAC, SHA256
except ModuleNotFoundError:
try:
from Cryptodome.Protocol.KDF import PBKDF2
from Cryptodome.Hash import HMAC, SHA256
except ImportError:
PBinCLIError("Unable import pycryptodome")
# Key derivation, using PBKDF2 and SHA256 HMAC # Key derivation, using PBKDF2 and SHA256 HMAC
return PBKDF2( return PBKDF2(

Loading…
Cancel
Save