A simple API used to encrypt the python dict into a file using AES256.
Project description
rudeencrypt
Store a python dictionary into a file with a password (by AES256). The interaction is between the file and memory directly(No decrypted file.tmp will be created). The encrypted data is saved by string in a file on the disc. One can load the data from a disc into a python dictionary and use it in the memory. The core part of this package is make use of the answer in StackOverflow.
将Python中的字典整个转换成字符串然后对字符串加密后保存在硬盘上。所有读写的中间过程都不落盘。
Install
pip install rudeencrypt
Usage
A (set of) python dict is collected in a "container" which will be operated directly.
example and API
from rudeencrypt import Encryption
Create a container
#-----------------------------------------------------
# create a new filedict (with password = 'password')
container = Encryption('encrypted.dat','password')
container.connect()
# a file is created. One can check the context in it.
Connect to it (verify password)
#-----------------------------------------------------
# connect to a filedict
container = Encryption('encrypted.dat','password')
container.connect()
print(container.IsConnected())
# a filedict is connect. One can try another password.
Create a table (a table is a python dict)
#-----------------------------------------------------
# create a table
container = Encryption('encrypted.dat','password')
container.connect()
container.CreateTableIfNotExist('testTable')
# remenber to save it
container.Save()
Show all tables
#-----------------------------------------------------
# get all the tables in container
container = Encryption('encrypted.dat','password')
container.connect()
# return a python dict 'dict_keys' type
l = container.GetTableList()
print(l)
Get a python dict in the container. One can have operations on it.
#-----------------------------------------------------
# get a normal python dict in the container so one can interact with it
container = Encryption('encrypted.dat','password')
container.connect()
d = container.GetTable('testTable')
print(type(d),d)
# --- inser an element
d['new'] = 'hellow'
# remenber to save it
container.Save()
Remove a table
#-----------------------------------------------------
# remove a table
container = Encryption('encrypted.dat','password')
container.connect()
container.DropTable('testTable')
# remenber to save it
container.Save()
Reset a new password
#-----------------------------------------------------
# reset password
container = Encryption('encrypted.dat','password')
container.connect()
container.SetPassword('newpassword')
# remenber to save it
container.Save()
# the container itself is already renewed
print( container.IsConnected() )
Get encrypted file (careful to use it): save the decrypted data into a file
#----------------------------------------------------
# password is also saved into the file!!!
container = Encryption('encrypted.dat','password')
container.connect()
container.SaveDecryptedDataToFile('DecryptedData.txt')
Read data from a decrypted file:
#----------------------------------------------------
# The current file will be overrided.
container = Encryption('encrypted.dat','password')
container.connect()
container.ReadDecryptedDataFile('DecryptedData.txt')
SaveDecryptedDataToFile
and ReadDecryptedDataFile
can be used to backup and restore.
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
File details
Details for the file rudeencrypt-2021.3.13.1253.tar.gz
.
File metadata
- Download URL: rudeencrypt-2021.3.13.1253.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18c58cdbd49ef0c97e3ea46090770fd86cddaf6349e45e3afec2974bd2dc2d73 |
|
MD5 | 8e410c73eb45a9226b9506885723dd01 |
|
BLAKE2b-256 | 74f5bb7ed653c685cf814e9550ed94097abfe2c54bc8b38bfddc56ea63145e05 |