TgCrypto
[!NOTE] The project is no longer maintained or supported. Thanks for appreciating it.
[!NOTE] The implementations of the algorithms presented in this repository are to be considered for educational purposes only.
Fast and Portable Cryptography Extension Library for Pyrogram
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 Pyrogram and implements the cryptographic algorithms Telegram requires, namely:
AES-256-IGE- used in MTProto v2.0.AES-256-CTR- used for CDN encrypted files.AES-256-CBC- used for encrypted passport credentials.
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
- Clone this repository:
git clone https://github.com/pyrogram/tgcrypto. - Enter the directory:
cd tgcrypto. - Install
tox:pip3 install tox - Run tests:
tox.
License
Metadata
Release files for tgcrypto-devilaiger 1.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 1.1 MB
Release files / tgcrypto_devilaiger-1.2.6-cp312-cp312-win_amd64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 29.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0c1539519e3db312362dc2d9ae9fa65396db4328673c9dfe8247da016461f30b
|
|
BLAKE2b-256 checksum How to use checksums |
d990f6fd30d92473ba58d2b07c96116e5ee8a396f6a4580bcfd50e396e2f0702
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp312-cp312-musllinux_1_1_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp312-cp312-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 48.4 kB |
| Tags | CPython 3.12 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
c2d3703aa72b6eea84e53b04c2d183018f7d1b4c1a1ab0e3b5abb53e59d6da7d
|
|
BLAKE2b-256 checksum How to use checksums |
766449e20fa15b1fdc05fee0bf326a008aa20887bfadb285a3db172cd702b297
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 44.6 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
37aa295967aa2f0fff5c079a8231d5373e5826b11c4167cee4ccf582d1adc719
|
|
BLAKE2b-256 checksum How to use checksums |
0846748f471a7f027724337829a0c27f1259dd96d91d7bed2c23a532d3f334cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 28.0 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d793fe5207bb8bee217dd9f5a1f860782ebee4488a905880fba81348fb401abd
|
|
BLAKE2b-256 checksum How to use checksums |
d1ce51200a0fc77061c433211f5a300943b4b6b9ec818d1fa5e57e56da7f1ca1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp312-cp312-macosx_10_9_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp312-cp312-macosx_10_9_x86_64.whl |
|---|---|
| Size | 27.8 kB |
| Tags | CPython 3.12 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
2fac0ac2d83492f698609a720eb3920503fa7d731c972617a09f7e4295e7a1df
|
|
BLAKE2b-256 checksum How to use checksums |
224c82e93750b64a8dc268f5c5ed5eb7a5efd4f698e7b07a9c3355e08817df5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp312-cp312-macosx_10_9_universal2.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp312-cp312-macosx_10_9_universal2.whl |
|---|---|
| Size | 43.5 kB |
| Tags | CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
b377299fb203dd4c35b553f6573bb0e52f167597275fdfac80d25e4d66a77baa
|
|
BLAKE2b-256 checksum How to use checksums |
e31940d7a77095b13ffbd5896e2f56a960b1fe444e86943e85b2d4d51b445555
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp311-cp311-win_amd64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 29.6 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
198cb3331f5c25ce055c09f55193024d126cd5d98d786ee097aa0ec16e779fb3
|
|
BLAKE2b-256 checksum How to use checksums |
df456d3f3cee251d8f85365b7437b92f10247f0bbf61d8cfbe15e49fe27375a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp311-cp311-musllinux_1_1_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp311-cp311-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 48.7 kB |
| Tags | CPython 3.11 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
935b60525cdf9cd05b697d0cae2da69d6d93bb75e4f629f0ce825ab0852d1fec
|
|
BLAKE2b-256 checksum How to use checksums |
522aee4a42126c5cdebb18a6fafc4b51faebdd001705e703e9baec66fe252708
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 45.0 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
cfe3d73351fd87514a639c6c0e922513467d865d2fceaf9bbf6daf0c6cbeec38
|
|
BLAKE2b-256 checksum How to use checksums |
4e183b09857d4892631b74652949df8aa0266ace075f9f215ba3f67ba583c277
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 28.0 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
01a4f75f0947f14a451ee8a3f77320fb970c0690e4e2e1c5aab1a1bc1e972bb6
|
|
BLAKE2b-256 checksum How to use checksums |
a318714ed7f300865ad966f400696991e158fb4f51e8ed422ffa5db62b3b0dba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 27.8 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
56aecc3de03625e1dc982956f5a0c953f1dafddbbc954d2719d14de1c041d349
|
|
BLAKE2b-256 checksum How to use checksums |
3e4aa813a8e0481a37517a2f9a6d3dff75a0973de5127f6d352e1f473cd72c98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 43.5 kB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
5e7b91ca4b25e80b8aa931e32de7e63fcb7d1bf7f9e2de9230cc76b374a5548b
|
|
BLAKE2b-256 checksum How to use checksums |
5db8594ce0685783a23a06c093c0af7bd0207916bd80b2d68340d4b78125989e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp310-cp310-win_amd64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 29.6 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a5f69e02fa083d74d43a3e9e7c7b913b7e16bb66274e8e5df5128309b93053ab
|
|
BLAKE2b-256 checksum How to use checksums |
52410b872fcd035ecfd76c5807670df63c3070158a4165f0d337f50be5ae62da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp310-cp310-musllinux_1_1_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp310-cp310-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 47.9 kB |
| Tags | CPython 3.10 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
3592d387536bb411e6c1c339e47425ee3b9632dd7b3c88a43a776841ca858d0f
|
|
BLAKE2b-256 checksum How to use checksums |
85a229ce26be1559a581d68edbf8bab52291d7beb71849d61061bf9900bf3e69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 44.2 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
66f4c949da2cb4516801770fad41942937f6f74d724629c0591a5001458a3bd0
|
|
BLAKE2b-256 checksum How to use checksums |
70aaf602092bfcc345b4adc85d33a806d8da0f93766f43c598982a7ac8410ce9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 28.0 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
04d3b1e452262cb0238066b1a8c0af8ac9fb6f30d7cb0929320091a8ef076d71
|
|
BLAKE2b-256 checksum How to use checksums |
22fb86a70bf2b0500472370ee76823f63cd67dbe3d1b8b9baf1ca01f120f9ee8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 27.8 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
e5dbf994628b5c65ee2b87b17d9d6ce4a87e30283f971616c107888947a1df79
|
|
BLAKE2b-256 checksum How to use checksums |
bb9cde0b054a9c3c85a39f3cc820aa6fbe39cc3d2c401aa854a2f2cfc149ba0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 43.5 kB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
7e0b30c257292c1a3b784fbeb99c814713ef47051c1b007ea7a8348f16ab1471
|
|
BLAKE2b-256 checksum How to use checksums |
c2eb7e2cdaf504131534ab294830f85e5a62b8c8be17d153ceea05eb1d72f57e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp39-cp39-win_amd64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 29.6 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
69100d21921db9520a0ba75dc2602469a76118e1298ae4fa234a34a8c6e7ef2a
|
|
BLAKE2b-256 checksum How to use checksums |
4871118ddc632a5ad5bd74ac8f8fba65983cd0376d8e1ba38ba5bf1c76baa581
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp39-cp39-musllinux_1_1_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp39-cp39-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 47.7 kB |
| Tags | CPython 3.9 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
580c5583a8cc9a5d6123413be6b1c18cf98c3e8e07110cdd575a66876ff47969
|
|
BLAKE2b-256 checksum How to use checksums |
a2ee9ac8c3252f249ac884905df9cb8308f0a74c6a3a6b59bc8a55cedada2218
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 44.0 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
cd9993792ea2fbd6b87d3f21083841c14be8b1f3b77e2cb7c498bf351e7fdb4a
|
|
BLAKE2b-256 checksum How to use checksums |
8fb724ec2e0a7bee21687bc2fed712dc3a2312bc23056acaf8830f7b31993791
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 28.0 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b7f26d9a61876d38f772692e42d2780e57d512dbc4c64eb026bb96c7b8bcd8d0
|
|
BLAKE2b-256 checksum How to use checksums |
9f898e76de9d5721cdf287b8a81d3113180dd41406fcf49f0054ab8a921911f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 27.8 kB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
64207295563fa6c0b7144a4adc5271cbc6bbb888d31d6a4540d8f4f9b0ed38f5
|
|
BLAKE2b-256 checksum How to use checksums |
a07b486f4cfc02fad9c6167166c7368a93b1aebfa2c8e4decb07d865ec1d1e76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp39-cp39-macosx_10_9_universal2.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp39-cp39-macosx_10_9_universal2.whl |
|---|---|
| Size | 43.5 kB |
| Tags | CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
b2a81cf923441352d333d68db0f7446a780722af1ec614bbf736d2995a6ea579
|
|
BLAKE2b-256 checksum How to use checksums |
cf6a1fab6cd47173fcedb700c88d7e5ceb3cc7696f53be1106d01b609139c073
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp38-cp38-win_amd64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 29.6 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
77a0c989ea0fd2777de21451048f2f0d316c307a3a37029ca5c4855fbb58de5f
|
|
BLAKE2b-256 checksum How to use checksums |
f6931075bad5b971a0c56c83b668fe2590d25ad77ce40928ee8be03f197a530a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp38-cp38-musllinux_1_1_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp38-cp38-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 47.9 kB |
| Tags | CPython 3.8 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
d7df9f70a5ad413d3882016b9616564049544726263c0a9997579b999432827e
|
|
BLAKE2b-256 checksum How to use checksums |
fda9dfbd37aa4b952df98d3f3301b35fc3842fdfbfa252d35700936ffb3eae09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 44.5 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
f147aa7d7d877bfa5ee64330f38b262554bee42bcb6588386ab6e97c808b787a
|
|
BLAKE2b-256 checksum How to use checksums |
d6f10e944b397789e2784bcb1c7c1b88b4cd15521823ce458fd28f8feda49037
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp38-cp38-macosx_11_0_arm64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp38-cp38-macosx_11_0_arm64.whl |
|---|---|
| Size | 27.9 kB |
| Tags | CPython 3.8 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c77de1bd762fc3cc4fbdca040794a8ead2129f33c7f576b4edc15aec4f8efe84
|
|
BLAKE2b-256 checksum How to use checksums |
15f533f4a94b3d13b4311b449473c17cc15dcc549c35f7c6c6aa65dec076f003
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp38-cp38-macosx_10_9_x86_64.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp38-cp38-macosx_10_9_x86_64.whl |
|---|---|
| Size | 27.8 kB |
| Tags | CPython 3.8 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
79efb0c9cd54ca74da9b2251911489eef624d51050642db8969e2f583bc5f4e4
|
|
BLAKE2b-256 checksum How to use checksums |
cdc361e46a5a863b79b7d3d251e6ebbb00acd471f107fb87ae3d02a20d6cb874
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tgcrypto_devilaiger-1.2.6-cp38-cp38-macosx_10_9_universal2.whl
| Download URL | tgcrypto_devilaiger-1.2.6-cp38-cp38-macosx_10_9_universal2.whl |
|---|---|
| Size | 43.5 kB |
| Tags | CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
9cc7e48e476e98fb88f431fa38a0aad3a9a780493604395176e67e95eeeffbd7
|
|
BLAKE2b-256 checksum How to use checksums |
661fa40a01a69f6d2db0796d7f0f30c9a4659cfbdef1bf3920aad3ce30f3e9ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|