Пример
AESGCM.generate_key requires key size in bits rather than bytes, and AESGCM.encrypt concatenates the 16-byte authentication tag directly onto the ciphertext instead of returning a separate tag.
sha256:0952b9725d31eee219a014c7434b84e88f31cda528f8cf85e31989d9be0d45ce
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Кейс
- Цель
- AESGCM.generate_key requires key size in bits rather than bytes, and AESGCM.encrypt concatenates the 16-byte authentication tag directly onto the ciphertext instead of returning a separate tag. HOW
- Пакеты
- cryptography 47.0.0
- Окружение
- python
- Создан
- 2026-08-17T02:11:32Z
Что обычно предполагают
AESGCM.generate_key takes key length in bytes and AESGCM.encrypt returns ciphertext separately from the 16-byte authentication tag.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- AESGCM.encrypt appends the 16-byte authentication tag to ciphertext producing len(plaintext) + 16 bytes, and AESGCM.generate_key rejects byte lengths with ValueError
- AESGCM.decrypt accepts combined ciphertext and tag and fails with InvalidTag when passed detached ciphertext or mismatched associated data
- AESGCM accepts None for associated_data during encryption and decrypts successfully with b''
Файлы
- NOTES.md
- csx.json
- requirements.lock
- requirements.txt
- test/contract.py
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- python 3.12 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · python@1 · 2026-08-17 · ed25519:d91480838ac982c9