maleo-foundation 0.1.75__py3-none-any.whl → 0.1.76__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,12 +2,17 @@ from __future__ import annotations
2
2
  from maleo_foundation.managers.client.base import ClientManager
3
3
  from maleo_foundation.types import BaseTypes
4
4
  from maleo_foundation.utils.logging import SimpleConfig
5
+ from maleo_foundation.client.services.encryption import (
6
+ MaleoFoundationAESEncryptionClientService,
7
+ MaleoFoundationRSAEncryptionClientService
8
+ )
5
9
  from maleo_foundation.client.services.hash import (
6
10
  MaleoFoundationSHA256HashClientService,
7
11
  MaleoFoundationHMACHashClientService,
8
12
  MaleoFoundationBcryptHashClientService
9
13
  )
10
14
  from maleo_foundation.client.services import (
15
+ MaleoFoundationEncryptionServices,
11
16
  MaleoFoundationHashServices,
12
17
  MaleoFoundationSignatureClientService,
13
18
  MaleoFoundationTokenClientService,
@@ -24,6 +29,12 @@ class MaleoFoundationClientManager(ClientManager):
24
29
 
25
30
  def _initialize_services(self):
26
31
  super()._initialize_services()
32
+ aes_encryption_service = MaleoFoundationAESEncryptionClientService(logger=self._logger)
33
+ rsa_encryption_service = MaleoFoundationRSAEncryptionClientService(logger=self._logger)
34
+ encryption_services = MaleoFoundationEncryptionServices(
35
+ aes=aes_encryption_service,
36
+ rsa=rsa_encryption_service
37
+ )
27
38
  bcrypt_hash_service = MaleoFoundationBcryptHashClientService(logger=self._logger)
28
39
  hmac_hash_service = MaleoFoundationHMACHashClientService(logger=self._logger)
29
40
  sha256_hash_service = MaleoFoundationSHA256HashClientService(logger=self._logger)
@@ -35,9 +46,10 @@ class MaleoFoundationClientManager(ClientManager):
35
46
  signature_service = MaleoFoundationSignatureClientService(logger=self._logger)
36
47
  token_service = MaleoFoundationTokenClientService(logger=self._logger)
37
48
  self._services = MaleoFoundationServices(
49
+ encryption=encryption_services,
50
+ hash=hash_services,
38
51
  signature=signature_service,
39
- token=token_service,
40
- hash=hash_services
52
+ token=token_service
41
53
  )
42
54
 
43
55
  @property
@@ -1,11 +1,13 @@
1
1
  from __future__ import annotations
2
2
  from pydantic import Field
3
3
  from maleo_foundation.managers.client.base import ClientServices
4
+ from maleo_foundation.client.services.encryption import MaleoFoundationEncryptionServices
4
5
  from maleo_foundation.client.services.hash import MaleoFoundationHashServices
5
6
  from maleo_foundation.client.services.signature import MaleoFoundationSignatureClientService
6
7
  from maleo_foundation.client.services.token import MaleoFoundationTokenClientService
7
8
 
8
9
  class MaleoFoundationServices(ClientServices):
10
+ encryption:MaleoFoundationEncryptionServices = Field(..., description="Encryption's services")
9
11
  hash:MaleoFoundationHashServices = Field(..., description="Hash's services")
10
12
  signature:MaleoFoundationSignatureClientService = Field(..., description="Signature's service")
11
13
  token:MaleoFoundationTokenClientService = Field(..., description="Token's service")
@@ -0,0 +1,9 @@
1
+ from __future__ import annotations
2
+ from pydantic import Field
3
+ from maleo_foundation.managers.client.base import ClientServices
4
+ from maleo_foundation.client.services.encryption.aes import MaleoFoundationAESEncryptionClientService
5
+ from maleo_foundation.client.services.encryption.rsa import MaleoFoundationRSAEncryptionClientService
6
+
7
+ class MaleoFoundationEncryptionServices(ClientServices):
8
+ aes:MaleoFoundationAESEncryptionClientService = Field(..., description="AES encryption's service")
9
+ rsa:MaleoFoundationRSAEncryptionClientService = Field(..., description="RSA encryption's service")
@@ -0,0 +1,54 @@
1
+ import os
2
+ from base64 import b64decode, b64encode
3
+ from cryptography.hazmat.backends import default_backend
4
+ from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
5
+ from maleo_foundation.expanded_types.encryption.aes import BaseAESEncryptionResultsTypes
6
+ from maleo_foundation.managers.client.base import ClientService
7
+ from maleo_foundation.models.schemas.encryption import BaseEncryptionSchemas
8
+ from maleo_foundation.models.transfers.parameters.encryption.aes import BaseAESEncryptionParametersTransfers
9
+ from maleo_foundation.models.transfers.results.encryption.aes import EncryptData, BaseAESEncryptionResultsTransfers
10
+ from maleo_foundation.utils.exceptions import BaseExceptions
11
+
12
+ class MaleoFoundationAESEncryptionClientService(ClientService):
13
+ def encrypt(self, parameters:BaseAESEncryptionParametersTransfers.Encrypt) -> BaseAESEncryptionResultsTypes.Hash:
14
+ """Encrypt a plaintext using AES algorithm."""
15
+ @BaseExceptions.service_exception_handler(
16
+ operation="encrypting plaintext",
17
+ logger=self._logger,
18
+ fail_result_class=BaseAESEncryptionResultsTransfers.Fail
19
+ )
20
+ def _impl():
21
+ #* Define random key and initialization vector bytes
22
+ key_bytes = os.urandom(32)
23
+ initialization_vector_bytes = os.urandom(16)
24
+ #* Encrypt message with encryptor instance
25
+ cipher = Cipher(algorithms.AES(key_bytes), modes.CFB(initialization_vector_bytes), backend=default_backend())
26
+ encryptor = cipher.encryptor()
27
+ ciphertext = b64encode(encryptor.update(parameters.plaintext.encode()) + encryptor.finalize()).decode('utf-8')
28
+ #* Encode the results to base64 strings
29
+ key = b64encode(key_bytes).decode('utf-8')
30
+ initialization_vector = b64encode(initialization_vector_bytes).decode('utf-8')
31
+ data = EncryptData(key=key, initialization_vector=initialization_vector, ciphertext=ciphertext)
32
+ self._logger.info("Plaintext successfully encrypted")
33
+ return BaseAESEncryptionResultsTransfers.Encrypt(data=data)
34
+ return _impl()
35
+
36
+ def decrypt(self, parameters:BaseAESEncryptionParametersTransfers.Decrypt) -> BaseAESEncryptionResultsTypes.Decrypt:
37
+ """Decrypt a ciphertext using AES algorithm."""
38
+ @BaseExceptions.service_exception_handler(
39
+ operation="verify single encryption",
40
+ logger=self._logger,
41
+ fail_result_class=BaseAESEncryptionResultsTransfers.Fail
42
+ )
43
+ def _impl():
44
+ #* Decode base64-encoded AES key, IV, and encrypted message
45
+ key_bytes = b64decode(parameters.key)
46
+ initialization_vector_bytes = b64decode(parameters.initialization_vector)
47
+ #* Decrypt message with decryptor instance
48
+ cipher = Cipher(algorithms.AES(key_bytes), modes.CFB(initialization_vector_bytes), backend=default_backend())
49
+ decryptor = cipher.decryptor()
50
+ plaintext = decryptor.update(b64decode(parameters.ciphertext)) + decryptor.finalize()
51
+ data = BaseEncryptionSchemas.Plaintext(plaintext=plaintext)
52
+ self._logger.info("Ciphertext successfully decrypted")
53
+ return BaseAESEncryptionResultsTransfers.Decrypt(data=data)
54
+ return _impl()
@@ -0,0 +1,68 @@
1
+ from base64 import b64decode, b64encode
2
+ from Crypto.Cipher import PKCS1_OAEP
3
+ from Crypto.Hash import SHA256
4
+ from maleo_foundation.enums import BaseEnums
5
+ from maleo_foundation.expanded_types.encryption.rsa import BaseRSAEncryptionResultsTypes
6
+ from maleo_foundation.managers.client.base import ClientService
7
+ from maleo_foundation.models.schemas.encryption import BaseEncryptionSchemas
8
+ from maleo_foundation.models.transfers.parameters.encryption.rsa import BaseRSAEncryptionParametersTransfers
9
+ from maleo_foundation.models.transfers.results.encryption.rsa import BaseRSAEncryptionResultsTransfers
10
+ from maleo_foundation.utils.exceptions import BaseExceptions
11
+ from maleo_foundation.utils.loaders.key.rsa import RSAKeyLoader
12
+
13
+ class MaleoFoundationRSAEncryptionClientService(ClientService):
14
+ def encrypt(self, parameters:BaseRSAEncryptionParametersTransfers.Encrypt) -> BaseRSAEncryptionResultsTypes.Hash:
15
+ """Encrypt a plaintext using RSA algorithm."""
16
+ @BaseExceptions.service_exception_handler(
17
+ operation="encrypting plaintext",
18
+ logger=self._logger,
19
+ fail_result_class=BaseRSAEncryptionResultsTransfers.Fail
20
+ )
21
+ def _impl():
22
+ try:
23
+ public_key = RSAKeyLoader.load_with_pycryptodome(type=BaseEnums.KeyType.PUBLIC, extern_key=parameters.key)
24
+ except TypeError:
25
+ message = "Invalid key type"
26
+ description = "A public key must be used for encrypting a plaintext"
27
+ other = "Ensure the given key is of type public key"
28
+ return BaseRSAEncryptionResultsTransfers.Fail(message=message, description=description, other=other)
29
+ except Exception as e:
30
+ self._logger.error("Unexpected error occured while trying to import key:\n'%s'", str(e), exc_info=True)
31
+ message = "Invalid key"
32
+ description = "Unexpected error occured while trying to import key"
33
+ other = "Ensure given key is valid"
34
+ return BaseRSAEncryptionResultsTransfers.Fail(message=message, description=description, other=other)
35
+ cipher = PKCS1_OAEP.new(public_key, hashAlgo=SHA256) #* Initialize cipher with OAEP padding and SHA-256
36
+ ciphertext = b64encode(cipher.encrypt(parameters.plaintext.encode('utf-8'))).decode('utf-8') #* Encrypt the plaintext and return as base64-encoded string
37
+ data = BaseEncryptionSchemas.Ciphertext(ciphertext=ciphertext)
38
+ self._logger.info("Plaintext successfully encrypted")
39
+ return BaseRSAEncryptionResultsTransfers.Encrypt(data=data)
40
+ return _impl()
41
+
42
+ def decrypt(self, parameters:BaseRSAEncryptionParametersTransfers.Decrypt) -> BaseRSAEncryptionResultsTypes.Decrypt:
43
+ """Decrypt a ciphertext using RSA algorithm."""
44
+ @BaseExceptions.service_exception_handler(
45
+ operation="verify single encryption",
46
+ logger=self._logger,
47
+ fail_result_class=BaseRSAEncryptionResultsTransfers.Fail
48
+ )
49
+ def _impl():
50
+ try:
51
+ private_key = RSAKeyLoader.load_with_pycryptodome(type=BaseEnums.KeyType.PRIVATE, extern_key=parameters.key, passphrase=parameters.password)
52
+ except TypeError:
53
+ message = "Invalid key type"
54
+ description = "A private key must be used for decrypting a ciphertext"
55
+ other = "Ensure the given key is of type private key"
56
+ return BaseRSAEncryptionResultsTransfers.Fail(message=message, description=description, other=other)
57
+ except Exception as e:
58
+ self._logger.error("Unexpected error occured while trying to import key:\n'%s'", str(e), exc_info=True)
59
+ message = "Invalid key"
60
+ description = "Unexpected error occured while trying to import key"
61
+ other = "Ensure given key is valid"
62
+ return BaseRSAEncryptionResultsTransfers.Fail(message=message, description=description, other=other)
63
+ cipher = PKCS1_OAEP.new(private_key, hashAlgo=SHA256) #* Initialize cipher with OAEP padding and SHA-256
64
+ plaintext = cipher.decrypt(b64decode(parameters.ciphertext)) #* Decode the base64-encoded ciphertext and then decrypt
65
+ data = BaseEncryptionSchemas.Plaintext(plaintext=plaintext)
66
+ self._logger.info("Ciphertext successfully decrypted")
67
+ return BaseRSAEncryptionResultsTransfers.Decrypt(data=data)
68
+ return _impl()
@@ -0,0 +1,7 @@
1
+ from __future__ import annotations
2
+ from .aes import BaseAESEncryptionResultsTransfers
3
+ from .rsa import BaseRSAEncryptionResultsTransfers
4
+
5
+ class BaseEncryptionResultsTypes:
6
+ AES = BaseAESEncryptionResultsTransfers
7
+ RSA = BaseRSAEncryptionResultsTransfers
@@ -0,0 +1,13 @@
1
+ from typing import Union
2
+ from maleo_foundation.models.transfers.results.encryption.aes import BaseAESEncryptionResultsTransfers
3
+
4
+ class BaseAESEncryptionResultsTypes:
5
+ Encrypt = Union[
6
+ BaseAESEncryptionResultsTransfers.Fail,
7
+ BaseAESEncryptionResultsTransfers.Encrypt
8
+ ]
9
+
10
+ Decrypt = Union[
11
+ BaseAESEncryptionResultsTransfers.Fail,
12
+ BaseAESEncryptionResultsTransfers.Decrypt
13
+ ]
@@ -0,0 +1,13 @@
1
+ from typing import Union
2
+ from maleo_foundation.models.transfers.results.encryption.rsa import BaseRSAEncryptionResultsTransfers
3
+
4
+ class BaseRSAEncryptionResultsTypes:
5
+ Encrypt = Union[
6
+ BaseRSAEncryptionResultsTransfers.Fail,
7
+ BaseRSAEncryptionResultsTransfers.Encrypt
8
+ ]
9
+
10
+ Decrypt = Union[
11
+ BaseRSAEncryptionResultsTransfers.Fail,
12
+ BaseRSAEncryptionResultsTransfers.Decrypt
13
+ ]
@@ -0,0 +1,18 @@
1
+ from pydantic import BaseModel, Field
2
+ from maleo_foundation.types import BaseTypes
3
+
4
+ class BaseEncryptionSchemas:
5
+ class Key(BaseModel):
6
+ key:str = Field(..., description="Key")
7
+
8
+ class Password(BaseModel):
9
+ password:BaseTypes.OptionalString = Field(None, min_length=32, max_length=1024, description="password")
10
+
11
+ class InitializationVector(BaseModel):
12
+ initialization_vector:str = Field(..., description="Initialization vector")
13
+
14
+ class Plaintext(BaseModel):
15
+ plaintext:str = Field(..., description="Plaintext")
16
+
17
+ class Ciphertext(BaseModel):
18
+ ciphertext:str = Field(..., description="Ciphertext")
@@ -0,0 +1,7 @@
1
+ from __future__ import annotations
2
+ from .aes import BaseAESEncryptionParametersTransfers
3
+ from .rsa import BaseRSAEncryptionParametersTransfers
4
+
5
+ class BaseEncryptionParametersTransfers:
6
+ AES = BaseAESEncryptionParametersTransfers
7
+ RSA = BaseRSAEncryptionParametersTransfers
@@ -0,0 +1,13 @@
1
+ from maleo_foundation.models.schemas.encryption import BaseEncryptionSchemas
2
+
3
+ class BaseAESEncryptionParametersTransfers:
4
+ class Encrypt(
5
+ BaseEncryptionSchemas.Plaintext,
6
+ BaseEncryptionSchemas.Key
7
+ ): pass
8
+
9
+ class Decrypt(
10
+ BaseEncryptionSchemas.Ciphertext,
11
+ BaseEncryptionSchemas.InitializationVector,
12
+ BaseEncryptionSchemas.Key
13
+ ): pass
@@ -0,0 +1,12 @@
1
+ from maleo_foundation.models.schemas.encryption import BaseEncryptionSchemas
2
+
3
+ class BaseRSAEncryptionParametersTransfers:
4
+ class Encrypt(
5
+ BaseEncryptionSchemas.Plaintext,
6
+ BaseEncryptionSchemas.Key
7
+ ): pass
8
+
9
+ class Decrypt(
10
+ BaseEncryptionSchemas.Ciphertext,
11
+ BaseEncryptionSchemas.Key
12
+ ): pass
@@ -0,0 +1,7 @@
1
+ from __future__ import annotations
2
+ from .aes import BaseAESEncryptionResultsTransfers
3
+ from .rsa import BaseRSAEncryptionResultsTransfers
4
+
5
+ class BaseEncryptionResultsTransfers:
6
+ AES = BaseAESEncryptionResultsTransfers
7
+ RSA = BaseRSAEncryptionResultsTransfers
@@ -0,0 +1,18 @@
1
+ from pydantic import Field
2
+ from maleo_foundation.models.transfers.results.service.general import BaseServiceGeneralResultsTransfers
3
+ from maleo_foundation.models.schemas.encryption import BaseEncryptionSchemas
4
+
5
+ class EncryptData(
6
+ BaseEncryptionSchemas.Ciphertext,
7
+ BaseEncryptionSchemas.InitializationVector,
8
+ BaseEncryptionSchemas.Key
9
+ ): pass
10
+
11
+ class BaseAESEncryptionResultsTransfers:
12
+ class Fail(BaseServiceGeneralResultsTransfers.Fail): pass
13
+
14
+ class Encrypt(BaseServiceGeneralResultsTransfers.SingleData):
15
+ data:EncryptData = Field(..., description="Single encryption data")
16
+
17
+ class Decrypt(BaseServiceGeneralResultsTransfers.SingleData):
18
+ data:BaseEncryptionSchemas.Plaintext = Field(..., description="Single decryption data")
@@ -0,0 +1,12 @@
1
+ from pydantic import Field
2
+ from maleo_foundation.models.transfers.results.service.general import BaseServiceGeneralResultsTransfers
3
+ from maleo_foundation.models.schemas.encryption import BaseEncryptionSchemas
4
+
5
+ class BaseRSAEncryptionResultsTransfers:
6
+ class Fail(BaseServiceGeneralResultsTransfers.Fail): pass
7
+
8
+ class Encrypt(BaseServiceGeneralResultsTransfers.SingleData):
9
+ data:BaseEncryptionSchemas.Ciphertext = Field(..., description="Single encryption data")
10
+
11
+ class Decrypt(BaseServiceGeneralResultsTransfers.SingleData):
12
+ data:BaseEncryptionSchemas.Plaintext = Field(..., description="Single decryption data")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo_foundation
3
- Version: 0.1.75
3
+ Version: 0.1.76
4
4
  Summary: Foundation package for Maleo
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: MIT
@@ -5,10 +5,13 @@ maleo_foundation/enums.py,sha256=uvwl3dl2r6BoJMEbtSETiLoyJubHup9Lc7VOg7w7zQo,294
5
5
  maleo_foundation/extended_types.py,sha256=pIKt-_9tby4rmune3fmWcCW_mohaNRh_1lywBmdc-L4,301
6
6
  maleo_foundation/types.py,sha256=aKXnIgEhYGSfFqNMGLc4qIKGkINBRpkOo9R9cb2CbwI,2414
7
7
  maleo_foundation/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- maleo_foundation/client/manager.py,sha256=Lx5k34RxI34qP6XVoHZ7PpAw_L28ByPR6fnZCJX04fk,1897
9
- maleo_foundation/client/services/__init__.py,sha256=_A-jySpCciIVB-VHgjqvJNkRYmAwzcq9SuWWV6iWW7g,699
8
+ maleo_foundation/client/manager.py,sha256=NYvy6jyrDGeAaSXafUHQailAeaQCkcCKMRIZ-uq8Bu8,2479
9
+ maleo_foundation/client/services/__init__.py,sha256=IjTZw2T-1SCEtcxx1uMjD00HVeQoPDIXs9m7qdCQ5Vo,888
10
10
  maleo_foundation/client/services/signature.py,sha256=ePO0T9cJ8BIIYbFw2ZJSW4MUM96Sk-Vu-ha0X7XTSGw,4300
11
11
  maleo_foundation/client/services/token.py,sha256=p1cA60ofeFJeL2MVKnAjnggIFniVSp2Hbd7VTYE255E,3880
12
+ maleo_foundation/client/services/encryption/__init__.py,sha256=qK9-RwivJ2xkMIwXI8XM8LmYboRTX6R3G9Nh3RxSdCM,594
13
+ maleo_foundation/client/services/encryption/aes.py,sha256=G8jqB9tOw6LYdcdU0TNkC0NAEjU6lR0e3Olsc8X1fkA,3310
14
+ maleo_foundation/client/services/encryption/rsa.py,sha256=vRDRMzlSxCqdjLG-S7K-ZVwfK0Sh2KKrzFk_V51jeN8,4503
12
15
  maleo_foundation/client/services/hash/__init__.py,sha256=A4Olb-RpeNFQEfToU9t8LfZ8e2WXeR8c_grot-JCFjI,756
13
16
  maleo_foundation/client/services/hash/bcrypt.py,sha256=1pl_X0IREGsGmx83w1cy81-6W-Xr3TcMHuD3u-N4TuA,1902
14
17
  maleo_foundation/client/services/hash/hmac.py,sha256=lrmcqU88Rpvixi_1Q9a7RnUoV6OwOEnyHiLz4istjYk,1976
@@ -21,6 +24,9 @@ maleo_foundation/expanded_types/query.py,sha256=0yUG-JIVsanzB7KAkrRz_OsrhP6J0bRq
21
24
  maleo_foundation/expanded_types/service.py,sha256=q8jpKdbCbLWwH1UPQavKpVE14rC5rveduk2cFWzuhGw,2416
22
25
  maleo_foundation/expanded_types/signature.py,sha256=zNgXRrxVCfEIGXsRANIa1Ljj-ebHjC2pWOTtw_ABJlQ,379
23
26
  maleo_foundation/expanded_types/token.py,sha256=4fRTJw6W5MYq71NksNrWNi7qYHQ4_lQwfu9WxwrMipc,355
27
+ maleo_foundation/expanded_types/encryption/__init__.py,sha256=CMKoLMJ02KjhX55wRfYWGOXL8mb7AdrBzaQxtGR70KA,259
28
+ maleo_foundation/expanded_types/encryption/aes.py,sha256=vkiAPfGH7KT8guCcIkqiAVGO3byiGHeSLDDDm--fReI,416
29
+ maleo_foundation/expanded_types/encryption/rsa.py,sha256=u-sRzAoc49m6ja82-govHT_IivJY2bwVXV1VZTGS7As,416
24
30
  maleo_foundation/managers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
31
  maleo_foundation/managers/db.py,sha256=Pn5EZ-c1Hy6-BihN7KokHJWmBIt3Ty96fZ0zF-srtF4,5208
26
32
  maleo_foundation/managers/middleware.py,sha256=ODIQU1Hpu-Xempjjo_VRbVtxiD5oi74mNuoWuDawRh0,4250
@@ -39,6 +45,7 @@ maleo_foundation/models/__init__.py,sha256=AaKehO7c1HyKhoTGRmNHDddSeBXkW-_YNrpOG
39
45
  maleo_foundation/models/responses.py,sha256=yKK_5p0dYCnUx-09mRKHkBv485bcngaCp9lwTSp_y4A,4846
40
46
  maleo_foundation/models/table.py,sha256=Dk5GXeO0gbBBPN2PJtZhlUx2x3vMbT4dxTBc3YLBbuc,1199
41
47
  maleo_foundation/models/schemas/__init__.py,sha256=Xj8Ahsqyra-fmEaVcGPok5GOOsPQlKcknHYMvbjvENA,277
48
+ maleo_foundation/models/schemas/encryption.py,sha256=6fZU8uadQp-2pLAChuYAVoG7sAm7BuCea79QxuV-wYo,647
42
49
  maleo_foundation/models/schemas/general.py,sha256=KGPP67ciKeL8cvOS3kYrVwmRx3kD33OcS88UmMn1JPE,3822
43
50
  maleo_foundation/models/schemas/hash.py,sha256=ieRrAwp9ssYP74xQybv1_gT2gDyAcXLNMwqbYEcLwvg,430
44
51
  maleo_foundation/models/schemas/parameter.py,sha256=K47z2NzmTEhUiOfRiRLyRPXoQurbWsKBL7ObXAxIWRY,2100
@@ -55,6 +62,9 @@ maleo_foundation/models/transfers/parameters/general.py,sha256=WoekZJCIoAllhXdRI
55
62
  maleo_foundation/models/transfers/parameters/service.py,sha256=d7Xy_R-DtLBRozyD6r8YnTiuKlE3sb9HMDCCq9WmUbY,6757
56
63
  maleo_foundation/models/transfers/parameters/signature.py,sha256=Kn6gJrQUHyn2uG6LyYnhbUEMfXJVTLgMG6n3CXZ4hu8,395
57
64
  maleo_foundation/models/transfers/parameters/token.py,sha256=WTmCKoP-KJLqZjdwr__BeVnBrnRrsxzHSQ0IBaOKvqw,535
65
+ maleo_foundation/models/transfers/parameters/encryption/__init__.py,sha256=HUWUODeKtAdW8IBtgXm66lHLuyxaBxHqM7itgi_oVL4,278
66
+ maleo_foundation/models/transfers/parameters/encryption/aes.py,sha256=VbJHgDQj7DhV58IDHnhMfcVtWXwistgMMfvcD-vktxE,387
67
+ maleo_foundation/models/transfers/parameters/encryption/rsa.py,sha256=zmakTCnE6aFDSeOnfqt_hcZUD4X-bgv7S6XpPm-fNNQ,335
58
68
  maleo_foundation/models/transfers/parameters/hash/__init__.py,sha256=ix4AXSS-8EtKTSPwXOzkpIpyfx86QIJIQpp6zTLbIs4,365
59
69
  maleo_foundation/models/transfers/parameters/hash/bcrypt.py,sha256=t_VpQL7YXokJf1Yp9TC8-ZD9AGQ0V0ZjFJpZZgfPqSA,245
60
70
  maleo_foundation/models/transfers/parameters/hash/hmac.py,sha256=vCEVQPh51wXrbOfIp6ByyZwIKTUJTT02WMBfHOjwmZA,315
@@ -67,6 +77,9 @@ maleo_foundation/models/transfers/results/client/__init__.py,sha256=xBRuY0NUIPpQ
67
77
  maleo_foundation/models/transfers/results/client/service.py,sha256=TO_U53vmUEnFWiiyuu33ao3BUidt6KFxvk3GC9uo8JE,1108
68
78
  maleo_foundation/models/transfers/results/client/controllers/__init__.py,sha256=x5pcJ33rsG8SqecwL1g762DFoySisTLbZqOqKqKoaKU,173
69
79
  maleo_foundation/models/transfers/results/client/controllers/http.py,sha256=vhjfjchvlTq347mLY2mcE84n_xYMpLkALi_ecQNOAGY,1499
80
+ maleo_foundation/models/transfers/results/encryption/__init__.py,sha256=7N2dK9qRTzttX3U4FQ4SKI4IR1oB08zj8Fbg5WDRxms,263
81
+ maleo_foundation/models/transfers/results/encryption/aes.py,sha256=BewPTXBzL170F8nnn5GaAMkMS00Gt_ABpOLM_hLtBX4,762
82
+ maleo_foundation/models/transfers/results/encryption/rsa.py,sha256=LCz89pFFcoLJFWU5u5M8vpNhVK1l-wISrWyavN4tUFQ,639
70
83
  maleo_foundation/models/transfers/results/service/__init__.py,sha256=dTjHe1iGIpdulrzawQoOj003sxxObumF63YpUptKrDA,390
71
84
  maleo_foundation/models/transfers/results/service/general.py,sha256=G4x-MhQI7Km9UAcx2uJmrsqA6RBvxpH6VFAd_ynFFd4,1486
72
85
  maleo_foundation/models/transfers/results/service/query.py,sha256=G5A4FRkHyRRlpuGWrPV5-vqgyyBjMqu8f-Ka9BjD0lA,1828
@@ -86,7 +99,7 @@ maleo_foundation/utils/loaders/json.py,sha256=NsXLq3VZSgzmEf99tV1VtrmiudWdQ8Pzh_
86
99
  maleo_foundation/utils/loaders/yaml.py,sha256=jr8v3BlgmRCMTzdNgKhIYt1tnubaJXcDSSGkKVR8pbw,362
87
100
  maleo_foundation/utils/loaders/key/__init__.py,sha256=G03cA_Oxu02uDsg0WBPfPkIM2uUsxnjwOPgtBKe02kc,110
88
101
  maleo_foundation/utils/loaders/key/rsa.py,sha256=gDhyX6iTFtHiluuhFCozaZ3pOLKU2Y9TlrNMK_GVyGU,3796
89
- maleo_foundation-0.1.75.dist-info/METADATA,sha256=W-HjQ8Twjp2fr8JTSCBsuKrOqKRhAuI5XGmsH4Ge-KE,3419
90
- maleo_foundation-0.1.75.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
91
- maleo_foundation-0.1.75.dist-info/top_level.txt,sha256=_iBos3F_bhEOdjOnzeiEYSrCucasc810xXtLBXI8cQc,17
92
- maleo_foundation-0.1.75.dist-info/RECORD,,
102
+ maleo_foundation-0.1.76.dist-info/METADATA,sha256=e0ynWXIw0cKzJZp7wjbqUfbgty_LUb2mL_uBaOU7DSM,3419
103
+ maleo_foundation-0.1.76.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
104
+ maleo_foundation-0.1.76.dist-info/top_level.txt,sha256=_iBos3F_bhEOdjOnzeiEYSrCucasc810xXtLBXI8cQc,17
105
+ maleo_foundation-0.1.76.dist-info/RECORD,,