A package to encrypt data
Project description
Introduction
This code implements a simple encryption/decryption mechanism to secure messages using the cryptography library in Python.
Features
- PBKDF2 key derivation is used to derive a secret key from a given password and salt
- The message is encrypted using the Fernet module from the cryptography library
- The encryption process uses a random 16-byte salt, a user-specified number of iterations for the key derivation function, and the derived key to encrypt the message.
- The encrypted message is returned as a base64 encoded string
- The decryption process takes the encrypted message, password and decodes the encrypted message to retrieve the salt, iteration count and encrypted token
- The secret key is derived again using the password and salt, and the encrypted message is decrypted using Fernet
- The decrypted message is returned as a string
Requirements
- Python 3.x
- cryptography library
Usage
The code provides two main functions:
message_encrypt(message, password, iterations=100_000) and message_decrypt(token, password).
message_encrypt takes in the following arguments:
message: The message to be encrypted, as a string
password: The password used to derive the secret key, as a string
iterations: The number of iterations for the key derivation function. The default value is 100,000.
message_decrypt takes in the following arguments:
token: The encrypted message, as a string
password: The password used to derive the secret key and decrypt the message, as a string
The code returns the encrypted message or the decrypted message as a string.
Limitations
The encryption mechanism is only secure if the password is strong and kept confidential.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
darkencryption-0.0.2.tar.gz
(14.9 kB
view hashes)
Built Distribution
Close
Hashes for darkencryption-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4988034b2e9bcae74cd80675dac62eb365b24078223a88b9e357ab7079fb8739 |
|
MD5 | eeda960fcdde5a7c71bad3e4902d5702 |
|
BLAKE2b-256 | fbb11b1e3082a6bd6b2b025b9fccd1883a4546b5845bf267eff5501642f1b310 |