From b4c15ea213a5b5a8d6f9f92c38ddc97fd25c8fb7 Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Wed, 5 Jun 2024 13:00:03 +0200 Subject: [PATCH] use cryptodome --- contrib/PC/ipltools/make_ipl.py | 6 +++--- contrib/PC/prxencrypter/prxencrypter | Bin 43904 -> 43088 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/PC/ipltools/make_ipl.py b/contrib/PC/ipltools/make_ipl.py index d88354fd..12315dcf 100755 --- a/contrib/PC/ipltools/make_ipl.py +++ b/contrib/PC/ipltools/make_ipl.py @@ -3,9 +3,9 @@ import sys import struct -from Crypto.Cipher import AES -from Crypto.Hash import CMAC, SHA1 -from Crypto import Random +from Cryptodome.Cipher import AES +from Cryptodome.Hash import CMAC, SHA1 +from Cryptodome import Random from ecdsa.ellipticcurve import CurveFp, Point from ecdsa.curves import Curve from ecdsa import SigningKey diff --git a/contrib/PC/prxencrypter/prxencrypter b/contrib/PC/prxencrypter/prxencrypter index 1e795eb853eca21e9d94d9f8a364a06a3c6cf82c..043c6586ec6b39e4f0bd7929f7a6d7a2d45c1b3f 100755 GIT binary patch delta 19127 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 delta 18310 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