Dragon-E
What is it?
Dragon-E (or just Dragon) is a simple but powerful library to encode messages. It relies on the end-user having the decryption key.
What does it look like?
Encoded messages will look something like this:
154:221:169:238:253:184:108:204:179:230:206:254:185:220:241:251:179:135:226:169:116:183:139:180:240:245:178:192:254:170:236:195:237:189:148:168:241:166:218:242:86:200:197:139:189:250:243:106:188:232:168:238:189:236:174:150
In this case, the original message was Dragon Encryption is a lightweight, easy to use package. and was encoded using the passkey AV3ry57r0nGp4Ssw0Rd!?.
What makes it so amazing?
- Unlike some other encryption methods, the encoded message's length is not dependent on the passkey's length. This makes it more difficult to guess the passcode.
- Every part of the passkey is important, meaning that you can't solve it all at once.
- The longer the message and passkey, the more difficult it is to decode.
- As of its 2.0.0 update, Dragon offers Image Encryption! This essentially encrypts the message using
stealthencryptand then transfers it into an image.- The resulting image is of type
PIL.Imageand is always square.
- The resulting image is of type
How can I download it?
pip install dragon-e
EXAMPLE
Encrypting
import dragon_e as de
important_info = de.encrypt("Don't share this info with anybody!", "V3ry57r0ngS3cuR17yK3Y")
with open('secret_file.dragon', 'w') as f:
f.write(important_info)
import dragon_e as de
important_info = de.stealthencrypt("Don't share this info with anybody!", "V3ry57r0ngS3cuR17yK3Y")
# Stealth Encryption just removes the delimiters and can be decoded the exact same way as with delimiters.
with open('secret_file.dragon', 'w') as f:
f.write(important_info)
import dragon_e as de
im = de.imageencrypt("Don't share this info with anybody!", "V3ry57r0ngS3cuR17yK3Y")
im.show()
The above code would display this image: which could be decrypted with
imagedecrypt.
Decrypting
import dragon_e as de
f = open('secret_file.dragon', 'r')
super_secret = f.read()
f.close()
decrypted = de.decrypt(super_secret, "V3ry57r0ngS3cuR17yK3Y")
print("Decoded information: "+decrypted)
import dragon_e as de
decrypted = de.imagedecrypt("path/to/image.png", "V3ry57r0ngS3cuR17yK3Y")
print("Decoded information: "+decrypted)
Metadata
Release files for dragon-e 2.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dragon_e-2.0.2.tar.gz | 90.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dragon_e-2.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 179.8 kB
Release files / dragon_e-2.0.2.tar.gz
| Download URL | dragon_e-2.0.2.tar.gz |
|---|---|
| Size | 90.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
38de9d36efd20c9f015b049c1aab95eb550d3b978504582c89a7266a85a7461c
|
|
BLAKE2b-256 checksum How to use checksums |
67f58a7cd408d33200344005c1d9c5e3217671fcfb518861e04cf530d7d707fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.5
|
Release files / dragon_e-2.0.2-py3-none-any.whl
| Download URL | dragon_e-2.0.2-py3-none-any.whl |
|---|---|
| Size | 89.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54a7512574562d1c4ea7bec20eeef4b383d4fe394c8fc8b4737144f96a9d688f
|
|
BLAKE2b-256 checksum How to use checksums |
e67d3a0c6d474004bffa0407f19515a09736a31323cc56f8318beacc1c4ae0c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.5
|