Secure storage of settings for your python programs. Use strong salt
Project description
API Reference
import
from securesettings import Settings
The settings are stored in sqlite in encrypted form
CLI
You need to use salt to access correct data.
main.py <salt> <command> <argv_command>
Commands:
1. set_settings:
argv:
"name_settings=value_settings,name_settings2=value_settings2"
description:
Set settings into base
example:
main.py salt set_settings "name_settings=value_settings,name_settings2=value_settings2"
2. get_settings
description:
Get all settings from base
3. clear_settings
description:
Delete all settings on base
4. from_file
argv:
path_to_settings
description:
Filling in settings from a file
example:
main.py salt from_file file_settings
example file:
path_to_work;C:\\\\Program Files(x86)\\projects\\tralala.prj
git_repo;E:\\\\tralala\\git
5. to_file
argv:
path_to_settings_to_upload
description:
Upload settings into file
example:
main.py salt to_file file_settings
Library
The program must be run with at least one parameter indicating the encryption key.
main.py this_is_salt
Running without salt will result in a program error:
Missing key parameter. Read help.\nPress ENTER to exit.
Default values when initializing the class
Settings(delete_after_filling=True, close_after_get=True)
settings = Settings() readed_settings = settings.get_all() print(readed_settings.path_to_lib)
var/lib/
Security
There are two methods of encryption and decryption for the settings class:
def encode(self, clear):
enc = []
for i in range(len(clear)):
key_c = self.salt[i % len(self.salt)]
enc_c = chr((ord(clear[i]) + ord(key_c)) % 256)
enc.append(enc_c)
return base64.urlsafe_b64encode("".join(enc).encode()).decode()
def decode(self, enc):
dec = []
enc = base64.urlsafe_b64decode(enc).decode()
for i in range(len(enc)):
key_c = self.salt[i % len(self.salt)]
dec_c = chr((256 + ord(enc[i]) - ord(key_c)) % 256)
dec.append(dec_c)
return "".join(dec)
After viewing the settings file without decryption, we will see something like the following:
#=path_to_libwqLDl8ONw6bCosONw5XDlsKi
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
secure_settings-1.0.0.tar.gz
(4.0 kB
view hashes)
Built Distribution
Close
Hashes for secure_settings-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e91367883eb819090011070bdd833ebe3dedbfdf799e51dfb58c4de105b0765f |
|
MD5 | 539b7a4cab1d29a72d00157303b086b2 |
|
BLAKE2b-256 | a1f52fd9772ebf6f5bb3eefb1f413ba0b8fad92acdd452d76dc1192291204e19 |