Implementation of random checksum protocol
Project description
RCP - Random Checksum Protocol
How to implement
- Have a dict
- Sort alphanumerical
- Concat its keys and values:
key1value1key2value2...
- Append shared secret
- Append current utc timestamp
- Optional: Add a salt:
saltkey1value1...
- Hash with SHA512
- Represent the hash as hex
How to use
Get checksum
from rc_protocol import get_checksum
SHARED_SECRET = "s3cr3t_p@ssw0rd"
my_dict = {
"key1": "value1",
"key2": "value2"
}
my_dict["checksum"] = get_checksum(my_dict, SHARED_SECRET)
Validate checksum
from rc_protocol import validate_checksum
SHARED_SECRET = "s3cr3t_p@ssw0rd"
my_dict = {
"key1": "value1",
"key2": "value2",
"checksum": "d0690e3c924e18bad866e2867698be75f64bdc6e809b76ffedb5c5095c9fbe15d36636b2df1fc47d2a3f348aea272ffc2fed4dc8ee08e0d13631ef646e1648c4"
}
if validate_checksum(my_dict, SHARED_SECRET):
do_random_things()
else:
print("You shall not pass.")
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
rc-protocol-0.0.3.tar.gz
(2.7 kB
view details)
File details
Details for the file rc-protocol-0.0.3.tar.gz
.
File metadata
- Download URL: rc-protocol-0.0.3.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.1.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cd630a57f0b1d3b447125a547156536417a414099a06aebf6e8fb2cd9c57931 |
|
MD5 | e85c17202749dd9971250c1e86fbb69f |
|
BLAKE2b-256 | 29842f656d386518224efbafbde7a08c605a59403020df0eda4a35a4538d8863 |