Skip to main content

RSA cryptography library

Project description

RSACryptoManager

RSAEncryptionHandler là một module Python cho phép thực hiện các thao tác mã hóa và giải mã bằng RSA. Module này sử dụng thư viện cryptography để cung cấp các chức năng chính bao gồm mã hóa, giải mã, tạo khóa RSA, ký và xác minh chữ ký số.

Author: Anhdev99

Website: https://anhdev99.com

Cài đặt

Trước khi sử dụng module, bạn cần cài đặt thư viện cryptography:

pip install cryptography

Sử dụng

1. Tạo một đối tượng RSACryptoManager

from rsa_crypto_manager import RSACryptoManager

crypto = RSACryptoManager()

2. Tạo cặp khóa RSA

public_key, private_key = crypto.gen_rsa_key(key_size=2048)

3. Mã hóa dữ liệu

data_to_encrypt = "Hello, World!"
encrypted_data = crypto.encrypt(data_to_encrypt, public_key)
print(f"Encrypted Data: {encrypted_data}")

4. Giải mã dữ liệu

decrypted_data = crypto.decrypt(encrypted_data, private_key)
print(f"Decrypted Data: {decrypted_data}")

5. Ký dữ liệu

data_to_sign = "Important message"
signature = crypto.sign(data_to_sign, private_key)
print(f"Signature: {signature}")

6. Xác minh chữ ký

is_valid = crypto.verify(data_to_sign, signature, public_key)
print(f"Signature valid: {is_valid}")

Các hàm trong module

gen_rsa_key(key_size: int) -> [str, str]

Tạo một cặp khóa RSA.

  • key_size: Kích thước của khóa (ví dụ: 2048).
  • Trả về: Một danh sách chứa khóa công khai và khóa riêng tư dưới dạng chuỗi đã mã hóa Base64.

encrypt(data_to_encrypt: str, pub_cer: str) -> str

Mã hóa dữ liệu bằng khóa công khai.

  • data_to_encrypt: Dữ liệu cần mã hóa.
  • pub_cer: Khóa công khai dưới dạng chuỗi Base64.
  • Trả về: Dữ liệu đã mã hóa dưới dạng chuỗi Base64.

decrypt(data_encrypted: str, priv_key_pem: str) -> str

Giải mã dữ liệu bằng khóa riêng tư.

  • data_encrypted: Dữ liệu đã mã hóa dưới dạng chuỗi Base64.
  • priv_key_pem: Khóa riêng tư dưới dạng chuỗi Base64.
  • Trả về: Dữ liệu đã giải mã dưới dạng chuỗi.

sign(data_to_sign: str, private_key: str, is_file: bool = False) -> str

Ký dữ liệu bằng khóa riêng tư.

  • data_to_sign: Dữ liệu cần ký.
  • private_key: Khóa riêng tư dưới dạng chuỗi Base64.
  • is_file: (Tùy chọn) Chỉ định nếu private_key là đường dẫn tới file chứa khóa.
  • Trả về: Chữ ký số dưới dạng chuỗi Base64.

verify(data_to_verify: str, signed_data: str, pub_cer: str, is_file: bool = False) -> bool

Xác minh chữ ký số bằng khóa công khai.

  • data_to_verify: Dữ liệu cần xác minh.
  • signed_data: Chữ ký số dưới dạng chuỗi Base64.
  • pub_cer: Khóa công khai dưới dạng chuỗi Base64.
  • is_file: (Tùy chọn) Chỉ định nếu pub_cer là đường dẫn tới file chứa khóa.
  • Trả về: True nếu chữ ký hợp lệ, False nếu không hợp lệ.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rsa-crypto-manager-0.0.1.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

rsa_crypto_manager-0.0.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file rsa-crypto-manager-0.0.1.tar.gz.

File metadata

  • Download URL: rsa-crypto-manager-0.0.1.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for rsa-crypto-manager-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e3680273740f5a888b50937a9be57f04b7c8607f4e7d1e952755eadfec1fa378
MD5 cbddddda977a689edf01209ff94f3573
BLAKE2b-256 3fe13f8addbe8ef4411ab595b7fcc702ab83b71b48abeafc7f8dd16e3fe69690

See more details on using hashes here.

File details

Details for the file rsa_crypto_manager-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for rsa_crypto_manager-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 366b5b10955c337a5197e0fb07f74863d60b542143c8ff9fff433190ef33134f
MD5 6366cb90c51c43d6a570f7038fd49eb8
BLAKE2b-256 c0460c51bc7e63c51963730fb7781ce1bce709de711c2dd6bcbe422f147275cf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page