Examples

This page contains complete examples demonstrating common uses of DES PurePy.

Encrypting a Single Block

The following example encrypts a single 64-bit block using a hexadecimal key.

from des_PurePy import DES

des = DES("0x133457799bbcdff1")

ciphertext = des.encrypt("0x0123456789abcdef")

print(ciphertext)

Output:

0x85e813540f0ab405fdf2e174492922f8

Decrypting Data

Decrypt the ciphertext using the same key.

from des_PurePy import DES

des = DES("0x133457799bbcdff1")

cleartext = des.decrypt("0x85e813540f0ab405fdf2e174492922f8")

print(cleartext)

Output:

0x0123456789abcdef

Encrypting Text

The library accepts bytes objects, making it easy to encrypt text.

from des_PurePy import DES

des = DES(b"password")

ciphertext = des.encrypt(b"secret message")

print(ciphertext)

Decrypting Text

After decrypting, convert the returned hexadecimal string back into bytes and decode it.

from des_PurePy import DES

des = DES(b"password")

ciphertext = des.encrypt(b"secret message")

cleartext = des.decrypt(ciphertext)

message = bytes.fromhex(cleartext[2:]).decode("utf-8")

print(message)

Output:

secret message

Working with Binary Files

DES PurePy accepts bytes objects, so files can be encrypted by reading them as binary data.

from des_PurePy import DES

des = DES(b"password")

with open("input.bin", "rb") as infile:
    plaintext = infile.read()

ciphertext = des.encrypt(plaintext)

# Save the ciphertext
with open("ciphertext.txt", "w", encoding="utf-8") as outfile:
    outfile.write(ciphertext)

# Recover the original bytes
recovered = bytes.fromhex(des.decrypt(ciphertext)[2:])

with open("output.bin", "wb") as outfile:
    outfile.write(recovered)