Skip to main content

Fast and Portable Cryptography Extension Library for Pyrofork

Project description

TgCrypto

Fast and Portable Cryptography Extension Library for Pyrofork

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

Requirements

  • Python 3.7 or higher.

Installation

$ pip3 install -U tgcrypto

API

TgCrypto 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 tgcrypto

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 = tgcrypto.ige256_encrypt(data, key, iv)
ige_decrypted = tgcrypto.ige256_decrypt(ige_encrypted, key, iv)

print(data == ige_decrypted)  # True

CTR Mode (single chunk)

import os

import tgcrypto

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 = tgcrypto.ctr256_encrypt(data, key, enc_iv, bytes(1))
ctr_decrypted = tgcrypto.ctr256_decrypt(ctr_encrypted, key, dec_iv, bytes(1))

print(data == ctr_decrypted)  # True

CTR Mode (stream)

import os
from io import BytesIO

import tgcrypto

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(tgcrypto.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(tgcrypto.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 tgcrypto

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 = tgcrypto.cbc256_encrypt(data, key, enc_iv)
cbc_decrypted = tgcrypto.cbc256_decrypt(cbc_encrypted, key, dec_iv)

print(data == cbc_decrypted)  # True

Testing

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

License

LGPLv3+ © 2017-present Dan
LGPLv3+ © 2024-present Mayuri-Chan

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

tgcrypto_pyrofork-1.2.8.tar.gz (37.4 kB view details)

Uploaded Source

Built Distributions

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

tgcrypto_pyrofork-1.2.8-cp314-cp314t-win_arm64.whl (47.0 kB view details)

Uploaded CPython 3.14tWindows ARM64

tgcrypto_pyrofork-1.2.8-cp314-cp314t-win_amd64.whl (47.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

tgcrypto_pyrofork-1.2.8-cp314-cp314t-win32.whl (47.1 kB view details)

Uploaded CPython 3.14tWindows x86

tgcrypto_pyrofork-1.2.8-cp314-cp314t-musllinux_1_2_x86_64.whl (60.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

tgcrypto_pyrofork-1.2.8-cp314-cp314t-musllinux_1_2_aarch64.whl (61.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

tgcrypto_pyrofork-1.2.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (60.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tgcrypto_pyrofork-1.2.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (62.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tgcrypto_pyrofork-1.2.8-cp314-cp314-win_arm64.whl (47.0 kB view details)

Uploaded CPython 3.14Windows ARM64

tgcrypto_pyrofork-1.2.8-cp314-cp314-win_amd64.whl (47.9 kB view details)

Uploaded CPython 3.14Windows x86-64

tgcrypto_pyrofork-1.2.8-cp314-cp314-win32.whl (47.1 kB view details)

Uploaded CPython 3.14Windows x86

tgcrypto_pyrofork-1.2.8-cp314-cp314-musllinux_1_2_x86_64.whl (60.7 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

tgcrypto_pyrofork-1.2.8-cp314-cp314-musllinux_1_2_aarch64.whl (61.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

tgcrypto_pyrofork-1.2.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (60.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tgcrypto_pyrofork-1.2.8-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (62.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tgcrypto_pyrofork-1.2.8-cp313-cp313-win_arm64.whl (44.8 kB view details)

Uploaded CPython 3.13Windows ARM64

tgcrypto_pyrofork-1.2.8-cp313-cp313-win_amd64.whl (45.9 kB view details)

Uploaded CPython 3.13Windows x86-64

tgcrypto_pyrofork-1.2.8-cp313-cp313-win32.whl (45.2 kB view details)

Uploaded CPython 3.13Windows x86

tgcrypto_pyrofork-1.2.8-cp313-cp313-musllinux_1_2_x86_64.whl (60.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

tgcrypto_pyrofork-1.2.8-cp313-cp313-musllinux_1_2_aarch64.whl (61.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

tgcrypto_pyrofork-1.2.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (60.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tgcrypto_pyrofork-1.2.8-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (62.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tgcrypto_pyrofork-1.2.8-cp312-cp312-win_arm64.whl (44.8 kB view details)

Uploaded CPython 3.12Windows ARM64

tgcrypto_pyrofork-1.2.8-cp312-cp312-win_amd64.whl (45.9 kB view details)

Uploaded CPython 3.12Windows x86-64

tgcrypto_pyrofork-1.2.8-cp312-cp312-win32.whl (45.2 kB view details)

Uploaded CPython 3.12Windows x86

tgcrypto_pyrofork-1.2.8-cp312-cp312-musllinux_1_2_x86_64.whl (60.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

tgcrypto_pyrofork-1.2.8-cp312-cp312-musllinux_1_2_aarch64.whl (61.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

tgcrypto_pyrofork-1.2.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (60.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tgcrypto_pyrofork-1.2.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (62.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tgcrypto_pyrofork-1.2.8-cp311-cp311-win_arm64.whl (44.8 kB view details)

Uploaded CPython 3.11Windows ARM64

tgcrypto_pyrofork-1.2.8-cp311-cp311-win_amd64.whl (45.9 kB view details)

Uploaded CPython 3.11Windows x86-64

tgcrypto_pyrofork-1.2.8-cp311-cp311-win32.whl (45.2 kB view details)

Uploaded CPython 3.11Windows x86

tgcrypto_pyrofork-1.2.8-cp311-cp311-musllinux_1_2_x86_64.whl (60.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

tgcrypto_pyrofork-1.2.8-cp311-cp311-musllinux_1_2_aarch64.whl (62.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

tgcrypto_pyrofork-1.2.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (60.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tgcrypto_pyrofork-1.2.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (62.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tgcrypto_pyrofork-1.2.8-cp310-cp310-win_arm64.whl (44.8 kB view details)

Uploaded CPython 3.10Windows ARM64

tgcrypto_pyrofork-1.2.8-cp310-cp310-win_amd64.whl (45.9 kB view details)

Uploaded CPython 3.10Windows x86-64

tgcrypto_pyrofork-1.2.8-cp310-cp310-win32.whl (45.2 kB view details)

Uploaded CPython 3.10Windows x86

tgcrypto_pyrofork-1.2.8-cp310-cp310-musllinux_1_2_x86_64.whl (60.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

tgcrypto_pyrofork-1.2.8-cp310-cp310-musllinux_1_2_aarch64.whl (61.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

tgcrypto_pyrofork-1.2.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (59.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tgcrypto_pyrofork-1.2.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (61.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file tgcrypto_pyrofork-1.2.8.tar.gz.

File metadata

  • Download URL: tgcrypto_pyrofork-1.2.8.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tgcrypto_pyrofork-1.2.8.tar.gz
Algorithm Hash digest
SHA256 106317b2c42cc5fcd7475a50647fee2da304076cdfcd2444f72d5254927b2afa
MD5 6327d47b48f51db76a52a6dd095591b9
BLAKE2b-256 7ccb9b26818a3a815eb37a7839d0c8e160c3b7c4de770fdb5ee1ecce96048336

See more details on using hashes here.

Provenance

The following attestation bundles were made for tgcrypto_pyrofork-1.2.8.tar.gz:

Publisher: wheels.yml on Mayuri-Chan/tgcrypto-pyrofork

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314t-win_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 ef8b75bb9516ca1990f2a0ccdf26a84f301381410cb0c63bc14959a70e895a8e
MD5 be53923e3a52bbdd272997276cff407d
BLAKE2b-256 35b92fdf803f21c07f0efb21c316f74c4fbd1f6f32456695149e24128698967a

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 2e94273c733cba188b28b903eb10ed014eaeb454ccc9269e96c89d7f43d12ddf
MD5 b4bd9d348a8111712787651f72e895b9
BLAKE2b-256 411b7deb72797d4a1e5bd25fc362de16d0f1aa0e3fef5417f41fec1b6bdc40e7

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314t-win32.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 cebd0cf96f27de50fedbbb836e459fb2d7d960ea1a454ac141ead0209d43bf5f
MD5 7d8ae078eb96742f66ab085a55810f57
BLAKE2b-256 f8cf6fb83ac9e739cec63cad9700a96e6e0cffefe27a24b517bb1251b5378c20

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bc888db2675247a1e3d9040577e025d64b66b72702223030b0e18ed10037b99e
MD5 401506bc6db05a992c16e40b76014fde
BLAKE2b-256 6f508e944e574f2dd3155db54a17c260cb550953cd7ecbd677c4e3d128e36de3

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c50a8ddd8e5256528f8318bcafbe1f59f1cc1c300db0ee16ec49955baead861c
MD5 0c3ed2f009bc1d1e1f403cae6bf17b58
BLAKE2b-256 dc0359880402d13eff32ab1649d795ef6296a839c98d37e9b4e5c14f02b7de66

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d3441ec567f9411ffbe5182fd4fb8c49fbd12faccd71c50fc469b9784e15b04d
MD5 76fe3a3b685ce5fa3c6d2eff7d81d8b8
BLAKE2b-256 7a445c3582787210840bd9e752a0e79d2c7a6b01339d4f11e243d2b79e003644

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 82bd2e8f249eaef92132ce5a310c27844e9fbb43666e5bfbf6dd1872c1c2eda2
MD5 acc5482ce40fccbd88c1ead9bd40e1c6
BLAKE2b-256 b037596a1b5d92bd6a7f657840c76a8f4955db614b4c7fe162c9cdcb82aa67e2

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 1b202757b7711b642362baa32529c2a7896d4f259ae25df6a82d8f748a3d30b2
MD5 f0d82f9de9c7070eafa1d17b49d9b2b1
BLAKE2b-256 70f6b3d0aa598f07c1ff64e55271eeca99bbfdd191ced97db652f0d279cb0294

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8eaf42413eb7b2efae1122106803c26dc792f0ad6d98ed77d179950c979d0d35
MD5 702a3d93e0815c8cb8c235f5f23575a9
BLAKE2b-256 25a4a2ca8127e03c31793e9659ab02fb8aeaf4ff2481cfc77f05c1651b0f8b0c

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314-win32.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 f17a4dd0197e0972f056242bc06f97d86e890f8e29bda69af3dbc6f25d40c33f
MD5 93de5f751b4a4e7c9a60e0b5a3d35668
BLAKE2b-256 49c3bec17c976b0caca2ae90cab295ab50c4384036b0b3df1096c0eaa329eb06

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fe3d75abef53bfbfa6e80dc6d25075f603f3ebe1dafa9d5c09b2780e0ea3a382
MD5 b79487b4ef4f3802f5510ec9c7c766d5
BLAKE2b-256 b4653f26e9680e312ee4cae8639e37035944037280c9b03bb17c2204020b024f

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9b1538e0c14d2aee1b9dc72cddfd7706d2e4ea768addecc3f12ff8d44f38d3e1
MD5 15606065fba9e85cd2411fefac652ee3
BLAKE2b-256 b25c8859b487bd68987d8d0b73a82d13796ef2213d428df2a2f0330605034c2c

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ae1a23ed300786e28e8d9c2024effba7efc732d99fd8a2db314c02c35355f01f
MD5 2a251b41bc46bdb7c46afee07b8c0b89
BLAKE2b-256 5f7868a5af0e776b65e598f8926c0814d8aa418b424f16e2a611efdcc3ba3695

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 12d237eb8de98fa759df97bdb988dd6f60702c3376dbf16d2babdd2196bfb58a
MD5 e099d8d4e031f4e509b16b2b0e07b7b9
BLAKE2b-256 2ee11d764432770162206bbbe916232dc3a3adc0cf2a1a9045be233b3c965471

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 8e1086bcf070a8bdae4e81d7732b1cc082b2f31c6fdea884336d4f98c93d7d82
MD5 5603889d88dbaa881c92b1993a1d1376
BLAKE2b-256 a6b96de6a3c9b22a992b497287f25ca69f47886c5ff502b207f82b206ac40c11

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 66792dfd71a90248cea9b855a40e9339686d19dc131134bd7ce4ec10b99a3509
MD5 6158a7a5587965bee8dbe2aef6750ffa
BLAKE2b-256 d5f615df88cdf00d71832c883cdd366ccfe7c6bf6dd7cc678ee42007b4b27bce

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 a8572c5c46c51352e294f7f68df2ed425756e25c08d0e2ef94e055ed243e3104
MD5 030a28ca3cecd78949f1b6a27078f185
BLAKE2b-256 97bf45480165ac318e7a230f1ea44c97f45007c1f4f60ab7121d4034f0b16ac7

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1ff578ac8b54607e6d536f9593f78d8bea9b99f2e607ea4bd71b1b2a3a5f949c
MD5 f4e1d1a123a5e7dfde0d724b6f742d38
BLAKE2b-256 5355100fde3d9a2215d25d469a36ae116d533a2455005d4fa83b9cb4caef49fc

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 36a71e5cbd14f3226803a2d05c0d3d43e0781565a895d40681ef82410398d950
MD5 510338e637fc5316885326d0419e7df2
BLAKE2b-256 fa3f850ee3d6def1a07406efa5e951bf1e72a7dfd9ae3bc7bb8f1e3e44c57147

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4886fa409c891e129c6ab439542e0b80b001b31bcefac63509340b0c691f73b
MD5 14f159f293c0dc272f6bc4d8b92ef21f
BLAKE2b-256 f8bb0193ab5a6012172995fa96a009b79c2b786c0e63106f244ab4b7a9846bc6

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f28c07ee6c0ef423b3ff14562881f3bbcb6614d5394f378526f32a109650e24
MD5 5c611d0da64747dcacce804df2fd6d01
BLAKE2b-256 0259f230684f3dca1da3a56c843de42fe64df709d41c55a33140ae9a1d3afcd4

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 555f90bb0aa613405437bb138244aef55f42cd4006a644b5a894121421f14bf9
MD5 0813928720cfbd619c0720cbf1446f71
BLAKE2b-256 fc30f09037293ed0726f8b67c5dfd44a9fe54e4e99a2f94e5672fdd7a3c87748

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e3cc194a514288627a2c0323b21875183eebb72764d066e490ebd494a3660cc0
MD5 090593fbb7ddb7bf9927542ffd559554
BLAKE2b-256 e61b96a45ded03e0f2ed156a63c050f0d9ca86c373d6a8757b0e9e521f21f40e

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 7594c508edb1ae1c939c733b033c2043ddd769559970195c93bcbe39628af0ca
MD5 2542f51dda1bb20f8dde456fe5e0d5ad
BLAKE2b-256 63943a99af9bcba7772c177812bb3b75ee50bf5be4d18e7502dfb4274be3ff1e

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 12d7255b99d33e862272af7fa4712b4e91aea76362969b53ca03afc8fa610005
MD5 99ffa6d7722f2a8ac613ed9948aec79b
BLAKE2b-256 3be6f3865513c1d8c69aa1205d2f8f1eb7537ee5c3fd7f61a5d0911b2d8a0299

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6b1376bbce83955ec8761fea0b284fb1c5be4350fe53693818727a6a8e74fbbe
MD5 419f7d0c3c51098258323651b4d13b9b
BLAKE2b-256 7b8253d17251b36714a32c74f9dbbb00619db5f244493d31cee66dad7fa659f1

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5bcb37b87c12d989c5c974869a93d705493457b8976d97e40b37cc476c6336bb
MD5 5e71085012703bec05bbcf19e3981e06
BLAKE2b-256 e6fae2d8df9640c4a3506ecc6f82726ce557143e8cd27c0f22d15f042a3abc57

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5a6c4e1e080dc30e92027fc969abc85ccb64030bea31190e9e6d83b6aba9a98a
MD5 afd3a7230fbc6df24750055cead897ec
BLAKE2b-256 76645adc2925f94579d001e1a38db7dc6adc9580a3e07a1ce6529aae3038b66c

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 052d473c0735b655024d1156cc840a6cfe6dc59f9f9ecb9786f01dbecbc431fc
MD5 501f66f71a9934e2b204afbc62a4d664
BLAKE2b-256 a8f051f68d33ca1c395ac437460fc25f9bab05849cdc152b07c5b2d339ea74ba

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 683d6f12de4e9dcd96b5e56f84cf026750524696c29ee61dc366d4edee2b8868
MD5 29c11e001ace9b51603e8ba4670adc86
BLAKE2b-256 3e5e1b55759191ea577c8683e4b0df570ee624d92c9bc6119e3fdbe28e43d194

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 728759dec7c014c193d1b1898edd83891e862c14f0c6d3d7ff6bf0bcd4dfdd75
MD5 104c587f6fed403928f76a9ce7c0a88b
BLAKE2b-256 7087190a27a699237189952d6677b0a335d447a1fdd6a00b4682c67dd165a04c

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aa68d0a01080f5ae9ca081639dc748451882af6c7542b016887498834d39c400
MD5 3370cac3b2e6c2a8a99ba4861b50b1f1
BLAKE2b-256 1476ec7eb9648f2e7fe8a06da4015b0a66d6c3df56d83a2e3de758bc276db5e4

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 58a7f1d0ca698630c2f23b2701ca4a065eb3d10a66f285bf80d1e4d4d48d8064
MD5 b0cdc8931bde426238af3a394fd96ffe
BLAKE2b-256 e2d730b5317c0b68d1e1cc90b948decf283854ff0981bc83c9ddec32da3eab31

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 56386772dc26dc8d60717bce826e6f40dc0e1f4f1513818adf5541e668e30e39
MD5 94774d5afd7f944f5c68210fce45a8f2
BLAKE2b-256 6417a1d0bbccf5e35780078620d45b806b81d83fd9213614b1629e8c3855e29d

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5bdbf180de83d5ece93ae6362b54dbe602771765daac71617bdfa365a8a342b6
MD5 549d39e7bc31c7f0674ceb05a6e98812
BLAKE2b-256 2db5f522ea65b55c8e3fc5bedf88711b0c1b28124ac68135c29409a4f7bb9f1a

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp310-cp310-win_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 eda8063671b6973896fb34fe184d17a93c60d70af8f167d532bdeee631a79a8c
MD5 20b317d30d87b63f8552c6b8a0d05398
BLAKE2b-256 18dbca39435c917a104656aa74598c1889fc5bc429b513e58e0c533d877b7045

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8ad0720256a87222e92dff2364e53d8aa4c03109c4e4d0392b1248c7ea17b003
MD5 5b47b6d99256374d445eb8e7ffbc2308
BLAKE2b-256 44fd8bc790d71de23188e82240a5db06f82b2c5d1cb3cbc2c14dd2cc49ad14cd

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 066fb06cfc31be72926ebf0182bb682119d08b031d7e0a1548bff44759cefac9
MD5 fc106903264f5d7618ca4dcc6feb119f
BLAKE2b-256 ebafd27e22949aba709f5375461fd993d0c66610828551f1e3f6e10a833d8f0d

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 03731cf0f053bff39516e73d09cb9fbf532b22417396d729c61b5862315dbd9d
MD5 5bab6947694e79530fd1d7fc03d4d701
BLAKE2b-256 7b08606be1878f3c028b826a023cd79e1af4570420ea180bb3fe4ca70a2df26e

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 071b9b8a6aa0f751ab675642e732faca909c6ea24d9be9f957789ed08fe4f56c
MD5 cefea88d3b453e061d89979e6d711488
BLAKE2b-256 1d623af332271e739ac127e0593ce9d9fd2c7d22c4adc2a7690891ca7329ebc1

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ca660aff1827879aaf228d8442c3cd0a5c61b437fdb5f3838dc209d709de77a6
MD5 e9c45fe226d24608272cff8b42472436
BLAKE2b-256 7cbeb4785113c4316b5b88096910c69b6859f45143da59e3257aa5ab6153f63e

See more details on using hashes here.

File details

Details for the file tgcrypto_pyrofork-1.2.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tgcrypto_pyrofork-1.2.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fc230103058fd095a66c71ac33038298d1aebd5cdc4b1e6451c0bd143edb7751
MD5 6f973afb5ec247b0636a5e7bcb4573e8
BLAKE2b-256 fcc6d4c918acf00deb323abc74771cd06e3cfb00e4e91d453517f68502391044

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