encryptiontools pypi
Initial release
加密和解密,簽名和驗證的工具。使用對稱和非對稱(基於RSA)的加密。
pip install encryptiontools
from encryptiontools . encryption import AsymmetricEncrypter , AsymmetricDecrypter
from encryptiontools . utils import generate_key_pair
public_key , private_key = generate_key_pair ( 512 )
data = { 'message' : 'hello asymmetric encryption' }
encrypter = AsymmetricEncrypter . create ( public_key . save_pkcs1 ()) # or AsymmetricEncrypter(public_key)
decrypter = AsymmetricDecrypter . create ( private_key . save_pkcs1 ()) # or AsymmetricDecrypter(private_key)
encrypted = encrypter . encrypt ( data )
decrypted = decrypter . decrypt ( encrypted )
assert decrypted [ 'message' ] == 'hello asymmetric encryption' from encryptiontools . encryption import SymmetricEncrypter
key = b'0123456789abcdef'
data = { 'message' : 'hello symmetric encryption' }
encrypter = SymmetricEncrypter . create ( key ) # or SymmetricEncrypter(key)
encrypted = encrypter . encrypt ( data )
decrypted = encrypter . decrypt ( encrypted )
assert decrypted [ 'message' ] == 'hello symmetric encryption'非對稱密鑰對用於加密/解密內部(對稱)鍵,內部密鑰用於解密數據。
from encryptiontools . encryption import CombinedEncrypter , CombinedDecrypter
from encryptiontools . utils import generate_key_pair
public_key , private_key = generate_key_pair ( 512 )
data = { 'message' : 'hello combined encryption' }
encrypter = CombinedEncrypter . create ( public_key . save_pkcs1 ()) # or CombinedEncrypter(public_key)
decrypter = CombinedDecrypter . create ( private_key . save_pkcs1 ()) # or CombinedDecrypter(private_key)
encrypted = encrypter . encrypt ( data )
decrypted = decrypter . decrypt ( encrypted )
assert decrypted [ 'message' ] == 'hello combined encryption' from encryptiontools . signature import Signer , Verifier
from encryptiontools . utils import generate_key_pair
from encryptiontools . exceptions import VerificationError
public_key , private_key = generate_key_pair ( 512 )
data = { 'message' : 'hello signing and verification' }
signer = Signer . create ( private_key . save_pkcs1 ()) # or Signer(private_key)
verifier = Verifier . create ( public_key . save_pkcs1 ()) # or Verifier(public_key)
signature = signer . sign ( data )
try :
verifier . verify ( data , signature )
assert True
except VerificationError :
assert False