Skip to main content

Fast and Portable Cryptography Extension Library for Pyrogram

Project description

TgCrypto2

Fast and Portable Cryptography Extension Library for Pyrogram

TgCrypto2 is a Cryptography Library written in C as a Python extension. It is designed to be portable, fast, easy to install and use. TgCrypto2 is intended for Pyrogram and implements the cryptographic algorithms Telegram requires, namely:

Requirements

  • Python 3.7 or higher.

Installation

$ pip3 install -U tgcrypto2

API

TgCrypto2 API consists of these six methods:

def ige256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def ige256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...

def ctr256_encrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...
def ctr256_decrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...

def cbc256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def cbc256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...

Usage

IGE Mode

Note: Data must be padded to match a multiple of the block size (16 bytes).

import os

import tgcrypto2

data = os.urandom(10 * 1024 * 1024 + 7)  # 10 MB of random data + 7 bytes to show padding
key = os.urandom(32)  # Random Key
iv = os.urandom(32)  # Random IV

# Pad with zeroes: -7 % 16 = 9
data += bytes(-len(data) % 16)

ige_encrypted = tgcrypto2.ige256_encrypt(data, key, iv)
ige_decrypted = tgcrypto2.ige256_decrypt(ige_encrypted, key, iv)

print(data == ige_decrypted)  # True

CTR Mode (single chunk)

import os

import tgcrypto2

data = os.urandom(10 * 1024 * 1024)  # 10 MB of random data

key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

ctr_encrypted = tgcrypto2.ctr256_encrypt(data, key, enc_iv, bytes(1))
ctr_decrypted = tgcrypto2.ctr256_decrypt(ctr_encrypted, key, dec_iv, bytes(1))

print(data == ctr_decrypted)  # True

CTR Mode (stream)

import os
from io import BytesIO

import tgcrypto2

data = BytesIO(os.urandom(10 * 1024 * 1024))  # 10 MB of random data

key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

enc_state = bytes(1)  # Encryption state, starts from 0
dec_state = bytes(1)  # Decryption state, starts from 0

encrypted_data = BytesIO()  # Encrypted data buffer
decrypted_data = BytesIO()  # Decrypted data buffer

while True:
    chunk = data.read(1024)

    if not chunk:
        break

    # Write 1K encrypted bytes into the encrypted data buffer
    encrypted_data.write(tgcrypto2.ctr256_encrypt(chunk, key, enc_iv, enc_state))

# Reset position. We need to read it now
encrypted_data.seek(0)

while True:
    chunk = encrypted_data.read(1024)

    if not chunk:
        break

    # Write 1K decrypted bytes into the decrypted data buffer
    decrypted_data.write(tgcrypto2.ctr256_decrypt(chunk, key, dec_iv, dec_state))

print(data.getvalue() == decrypted_data.getvalue())  # True

CBC Mode

Note: Data must be padded to match a multiple of the block size (16 bytes).

import os

import tgcrypto2

data = os.urandom(10 * 1024 * 1024 + 7)  # 10 MB of random data + 7 bytes to show padding
key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

# Pad with zeroes: -7 % 16 = 9
data += bytes(-len(data) % 16)

cbc_encrypted = tgcrypto2.cbc256_encrypt(data, key, enc_iv)
cbc_decrypted = tgcrypto2.cbc256_decrypt(cbc_encrypted, key, dec_iv)

print(data == cbc_decrypted)  # True

Testing

  1. Clone this repository: git clone https://github.com/tboy1337/tgcrypto2.
  2. Enter the directory: cd tgcrypto2.
  3. Install tox: pip3 install tox
  4. Run tests: tox.

License

LGPLv3+ © 2017-present Dan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tgcrypto2-1.3.3-cp313-cp313-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.13Windows x86-64

tgcrypto2-1.3.3-cp313-cp313-win32.whl (36.5 kB view details)

Uploaded CPython 3.13Windows x86

tgcrypto2-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl (51.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.3-cp313-cp313-musllinux_1_2_i686.whl (49.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

tgcrypto2-1.3.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (51.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tgcrypto2-1.3.3-cp313-cp313-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tgcrypto2-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tgcrypto2-1.3.3-cp313-cp313-macosx_10_13_universal2.whl (50.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

tgcrypto2-1.3.3-cp312-cp312-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.12Windows x86-64

tgcrypto2-1.3.3-cp312-cp312-win32.whl (36.5 kB view details)

Uploaded CPython 3.12Windows x86

tgcrypto2-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl (51.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.3-cp312-cp312-musllinux_1_2_i686.whl (49.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

tgcrypto2-1.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (51.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tgcrypto2-1.3.3-cp312-cp312-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tgcrypto2-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tgcrypto2-1.3.3-cp312-cp312-macosx_10_13_universal2.whl (50.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

tgcrypto2-1.3.3-cp311-cp311-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.11Windows x86-64

tgcrypto2-1.3.3-cp311-cp311-win32.whl (36.5 kB view details)

Uploaded CPython 3.11Windows x86

tgcrypto2-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl (52.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.3-cp311-cp311-musllinux_1_2_i686.whl (50.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

tgcrypto2-1.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (52.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tgcrypto2-1.3.3-cp311-cp311-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tgcrypto2-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tgcrypto2-1.3.3-cp311-cp311-macosx_10_9_universal2.whl (50.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

tgcrypto2-1.3.3-cp310-cp310-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.10Windows x86-64

tgcrypto2-1.3.3-cp310-cp310-win32.whl (36.5 kB view details)

Uploaded CPython 3.10Windows x86

tgcrypto2-1.3.3-cp310-cp310-musllinux_1_2_x86_64.whl (51.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.3-cp310-cp310-musllinux_1_2_i686.whl (49.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

tgcrypto2-1.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (51.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tgcrypto2-1.3.3-cp310-cp310-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tgcrypto2-1.3.3-cp310-cp310-macosx_10_9_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tgcrypto2-1.3.3-cp310-cp310-macosx_10_9_universal2.whl (50.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

tgcrypto2-1.3.3-cp39-cp39-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.9Windows x86-64

tgcrypto2-1.3.3-cp39-cp39-win32.whl (36.5 kB view details)

Uploaded CPython 3.9Windows x86

tgcrypto2-1.3.3-cp39-cp39-musllinux_1_2_x86_64.whl (51.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.3-cp39-cp39-musllinux_1_2_i686.whl (49.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

tgcrypto2-1.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (51.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

tgcrypto2-1.3.3-cp39-cp39-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tgcrypto2-1.3.3-cp39-cp39-macosx_10_9_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

tgcrypto2-1.3.3-cp39-cp39-macosx_10_9_universal2.whl (50.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 37.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 89d0ec0936ca885aa7e0914ec9645fcf8c7c06f0d0cb6b107823d22e986607e0
MD5 e5df257866aaba530aa342c55d1af384
BLAKE2b-256 e7ee974677a9e23e8dbbd7a77d54e371e00c9f8fb7d01d881ce2a47c46467216

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp313-cp313-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 51186f942f866bdfc9ab3d75d43b3dfc5c46902d3773b9671010b3558ae8a5c0
MD5 935e9daeda2599e8bfc1dd34a6578af2
BLAKE2b-256 0f0f7ba886f9dc61f3cc4f36d7627be0175ea141c2fedefb73bc0e09129cb385

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5a8a71a8b4a4aba8b1c9a2d18334ae715ecb56b973f7e647eaf42cac98c61b0c
MD5 8ea973a4d178ddebbd91312822912276
BLAKE2b-256 129f8e9f06c9803256e47ba76da394c4197a1575a761e0c082d641f882090bd9

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 63f417577d5a5b63d766f33c69eaabc209a6a29cf1ef019fe0b7e8fa29d66eb4
MD5 33f81fac90dd3b91c9bfef036720e13f
BLAKE2b-256 ef51ccd7f50e83f1092c7a9a549d7aafb82fe5c5a1adc80eda1e2e336a770da8

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0afe37f7ee43e959e3cc8711910d5e37473808410ea8862ab030d6f8c32fbeb
MD5 7d09338bd8353d0250ae98bfdae784db
BLAKE2b-256 17d4a4aa9f456a3c0b81fd1715f10bb2a8f81746720a99c5e4b615506448cea9

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 37d893644f0216e130330588e332486532b4e5272dec0482e889154ba71d9e80
MD5 870e42bb5d4ff8fbf6f02485ca6df7d6
BLAKE2b-256 f7b61a4d036899d4706feea26076746282170b69704ec82622e0fcb464917452

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5030c4109c4243e7d98fe5f9456af43937e3ad3894fa82d469324da7603dd4e
MD5 b326a9de571469475fa39b19cb12ac0d
BLAKE2b-256 bb3c94bd8494792f1f76a29bc739c3b353a8531024e3d8fe261ee3325388594a

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0d7c498407385378f7ee2837ee20e7005cc1533b2dcfbb29791c30b66375c847
MD5 f744ec32a0b78261ef6a4f5a8d3837ec
BLAKE2b-256 0ad1ee9ac43eccbe604be4db51a84a97c6c6614578df7feddaa68aabb3ba42ab

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ec4709dc696c08b0df1bda545ceeed8f23f094307687cb10f762e97694c77165
MD5 9034e5f588f7e4d933c3b44ee832ae2d
BLAKE2b-256 7cd041b8527c109fa415cd993ced2b6656745af73303942ee021773dd138e87f

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 37.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 417cdc1ac6598f24631462e6908545d776012e0699f600330fb2ec1723c3890c
MD5 3cb1c2f4830d802a543280fbebdbfa96
BLAKE2b-256 7bf98d8bd0820af7e3ebb2da61ad4f55a52a04896cbd14ba196059fe840456d8

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp312-cp312-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 6d6ff3e410a76678039139736d5187c3b79838c2aec6c9e7b515b70beccd961e
MD5 c4a717c4c7ca67bb1aa79285ca854366
BLAKE2b-256 e6d23ae8c5194ea855ed2d78b4e7588dbcbd49c54c929d06c9e1d50df6af43f9

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 52f9fc8c8b9e53fec1e265ef6ad32c17dc89a51c8aa254a20fbb14303411c9dc
MD5 25f6340e9b3c234c51d4c5b45a8a24a7
BLAKE2b-256 e9452555af254183428287397353aa4c8d100ab3d80cf603298bd028e3ef21fd

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9ceb66ab75196f657f98aabaccef1166e323aaa4f02ab323f0d4fbc0bd159101
MD5 6cf6e875865e5ddd6c62646666dfbfc3
BLAKE2b-256 f2ef00694b4da81f38637c033163c0a81f00747f08c2a8a64b9303dd2fb1abd4

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7976922895544723b1ab4f8ae0c21e554deabefbddc65712316ed1ebbc207f0
MD5 c082077e76985e43d424fcfa52654714
BLAKE2b-256 8acd6088ea22ae613e3ef5ee71d540e2cb04b9a1035eb801013e07377cfd07f2

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b3950cda3b2571a19b1e3b83037fbe80122b4788ba43b3ab84934c933ea25418
MD5 25286c54a15f578f1692ccd4c7aa44c2
BLAKE2b-256 c350bb88cbb8bf6286a2513cc08e958fbe2b78711b191b30ecc41a389c920b97

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed341fa4d7cf1bbaa61c0dc0e579e2bd5b59371d445d2860b529df351f88613a
MD5 8a815e3ce55a14c6a68232701ec323cb
BLAKE2b-256 4065552bb33f2cf6a6b99225b3d8ba149b86af7fd0dfed7b32cc2df5d09a7990

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0ab0866ed548a75714576015aaea36b3417f6a623f3fec2d4cbf41c542d9a7a9
MD5 5b0755103a13488501b06e88e8736d4f
BLAKE2b-256 d9483652464e2a7b0e4e2ba05de996f7478e94444001bae0d6b8eb476ff72203

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 865e5d4c7b632aa363f5f599989ddd63567f84d74a36ea2c45c31b6350e64c29
MD5 13fa9f65b1944578406773a91ff76ee0
BLAKE2b-256 4109ce331186b784fb30639e8c6b8e62de29ed627297d6c1a970570593251f4b

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 37.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9140360429d0d0a0518bb9b226e68d1e47a111e812b1fd5948317c07fdf5c5b9
MD5 60a8c927ae9d341e308084f38d3d7ced
BLAKE2b-256 1714fb7776fbbf20b0ddb27118007019404bcab497bf53861695af7df47fdbc7

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 4a87822de278bc6dae3bbfa70e2dc2e8330d521e0daec3cf633ee9428073e04f
MD5 07c9526aab12b6bae88d55e5de03969e
BLAKE2b-256 4a3f2486cb38b73399b894487c72a9d79a062e4e8bc76057984f481922f9b97f

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ec1210db6b123331509336f142f4685c5b3a5f95394ce32ed20feb0dc05da2ee
MD5 c3e57a218ef52d4536313762a02303d0
BLAKE2b-256 312ab661030012cff34b6803a6ba1d2c0d1ba1f405c7679d76445d565178d8e6

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ee727be1fee3f30c2d751473389f2fb449ac84efd33c29b10d5decf7fbb75ad6
MD5 04202c44507aed936696e0e70b0c1ba7
BLAKE2b-256 17bdbbac1fe86ff5238017536a0ec640acb70328446c49af658761ce64f227da

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 031e89886f676a7bbbb7d6beea1d2689f404293bca74ab7c549997eec86f4c73
MD5 6ee1491eed7645da66d1e33ed2e67dd5
BLAKE2b-256 23cbbf3605c31d4b1299ed8e77e7e7a5f53baddb634ec1d3497cf5073455dd59

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7316ca833daf9b8c5539f9816fc59ad363f25aeb13ca3c9dc52507ac8b63f327
MD5 21498895c44c79e2de3ce545c019ec67
BLAKE2b-256 257cffa5be5774b42394d1cf55e0346fa43363fda8c2d267764eec9c43c57e16

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 730a85b7da46679854cd4b9dcd4ff320f944486765d78503c7b61e32f6a4ba13
MD5 b5ddb5bdb4e279007f57678ae96c5114
BLAKE2b-256 81a9dbb57707168cbef1a748ee7e5171ef42aaa822439ab7d2c307b2ed6d4064

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6b90dd5f4beb576e55ff8d73985e7b9d9955be74fe1f51c62e6e9b8634af7b20
MD5 8a3dbc73818d96501ccd6e1172e2f9af
BLAKE2b-256 ba18a8fe069ced8cc5b03be6f19c3ecc9aec2dc0d7667cb43bf5d23f36278415

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6b4144e0a2096aa418a347967a0a71c712e21a5f4dd741c70dedc51a6b19f858
MD5 b6ecd4d6b0ad58e8f737a9c7dff34184
BLAKE2b-256 96ce566c529300b2381e0bb53cbc53def62f8b9e881a30c3235eb10c7e4c99f9

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 37.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3291f2911755c4f702931bb30c5a5a9d0a35f81275dbf2cb0f8238415d1b609d
MD5 1bebebc05c1883f1b67877d6594136f3
BLAKE2b-256 daa9b7d2006b712f86f7f7d546a69174814dc101804a3fd08ace7de7a58605b4

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b15035c5e65dca391b4f47df132e32637a364118bbcf07694e1a781b7a582c67
MD5 47c7c13603ffc96300e62f9947f2baff
BLAKE2b-256 76b452804bbfaa58aad578f925508472e59b7c2287b8a1d100cfa10103bae8c8

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 37048dda45e804aaa819338f996c7be4224a2c6ca5862a46cbdea6d4ca10b8a5
MD5 62658301438e0bea1bf8853b3d5e1032
BLAKE2b-256 4d069a2ced9fc76495ca3b0d96f245aedaac360e474eb9cdb601fc615ff1e8be

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 37a203df145728834aa34df693e9b32e9a6dd391776f8c0e856ce33dbd9d2ede
MD5 f5d64a4b7da9ee6d6d5f1dd30e918896
BLAKE2b-256 6a774889b26e02c06f6ba84ecfb5c7e2d69d8266db6f77423c66bf5451ed921a

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d774ca1107d0ccc0a694f79892211debed172bdea9a283931c580cb4cb847881
MD5 fbf3881f26e941744a91f221b6d77116
BLAKE2b-256 4013aa1b7335d5d709b8df151a78358c60cf476d0b13f8a1a5bdcf51ef0a1a80

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2ebaa62877adb5b735a9094b0530df8b81643d3102bc1c58f3284158c6ad50d1
MD5 66ff82e2376828ec5d03385d0531bba7
BLAKE2b-256 946e866f2dd66a0f14376b997a717868999c4621e76b6ec0731907e914d604d3

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05edbb27489973d718563c798cfb62a33cef5e0d07ed22c1834dcb3d4ce3af20
MD5 69c2a972e7f2efbf5ab8c65243f3225d
BLAKE2b-256 402c263b2e2536806e741fc4acf28be06bcd4aa683ca30d704095d8527206227

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 678181830ef979d1bf42b951168aa5f44afbb5409dbda7d563b4d0f28b21c936
MD5 3a8d4057da27dfc8509b0a50277fe969
BLAKE2b-256 927ff05cd9813b28a38520d31c328152845272b63bf8387dfe61dd907ae1c1c3

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8d14f999cd118404bd0db7f31a02b9f1d1a77ef5d9121bdf47041143986a385d
MD5 bd649e465681fd775ecd7d1d620e969f
BLAKE2b-256 b9d151fb8e6db132830c62b5a79e12c0fb65db7e8c3c680a71b7d7c434bfc0ce

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 37.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3fd2bb2f29eb8d0a29f0a0b828eac6005797e25439ea602646783085d9e44f89
MD5 4c1c6cc67895b7308372da698ddb69cf
BLAKE2b-256 bce9d4496bb91e74752c26b6216c2e34b1bab41b0c1457489cc469dcc3d6675c

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.3-cp39-cp39-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 9301eca3cb0b54ed86f744317f63147239849b9ffe07a61f43d2973d4c1c09ac
MD5 a19ce2310b01f8ab1545e422e908d148
BLAKE2b-256 2c3ac5cd5327803d580f09ac493c8e0726a6dc94cd58bfc071958c5cfc0845cc

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2349ae455c71845bbdc64423b2683f0e4686bd5f566b006914b5fe2bbf711a77
MD5 5d3c3f6259c0e38f2818bb660c09e753
BLAKE2b-256 b39ee91420296975e8c44f99fa4cec25e7a164da164b80ebea9d72339d7e843b

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4b5cd85aa66314e79673804a10d03c4a458b8c946ff30eac9efa6f8353aa690d
MD5 9437ffe793330fa5c3db1c91329bc83e
BLAKE2b-256 036bd8b6a889fa892fd3e6e8760e5f94af2deb2c707a46cc21134e2eecfa4ac4

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb82bf5861ad0aa5d3b79489c136b4b1978cf2e999f817643978c77bf66f77f3
MD5 3ca1281dd73ea4dfe2497aae54c86632
BLAKE2b-256 7ac90b112e10be8be3c407591ae325f74fdbdb7b30859e91eea1123940fb13d5

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5b498464400b25cbc00cf16ae4f396abcab34fa37b578d722a683edd89931ca9
MD5 743876a4907845c238aae7a0bf1dbcc1
BLAKE2b-256 0842b5261c24611624a65fe6a463d9c9b3cbc6017dfbb6c033c665b2203aea17

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d7f6c5863695ceaa371ff2ce614f77bedf6fb259341c181ea6a5ac2b5fc1738
MD5 a5618ce029e1ad8f0f19f7eeb2f845a4
BLAKE2b-256 b966ff74e569b1064f5d20caf311d4afaa814f7e15b3a2c172dfc39a0b384539

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bf72bd8b5f3ac68eca4faa410a08db44c6305128471461aafe5a254ac5e170ce
MD5 90438b27b4b34081daadf0efcc948b28
BLAKE2b-256 1fabbc660f39982cf956b1bd624e5f32d39e0e1d937d47b04d367861a261588c

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.3-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 63a5f95fbbb879259b35547bf36bc200f104be89e91ef3c716dbd60c43def211
MD5 ac151348a1a5adf74b5501983360af00
BLAKE2b-256 9d05c32e6d3b34be150b53c60b14622700602987389798fad4b0e5edf75b31e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page