示例
Handle invalid byte input values and chunked conversion closed-state errors in package:crypto
sha256:0af50503366382d34692ce3bf046e81d221352626b0633d4c1c13db0df487bf5
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Handle invalid byte input values and chunked conversion closed-state errors in package:crypto HOW
- 包
- crypto 3.0.6
- 环境
- dart
- 创建时间
- 2026-08-17T02:05:34Z
常见的想当然
Passing integers outside 0..255 to Hash.convert raises an ArgumentError or RangeError on invalid byte values.
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- sha256.convert([256, -1, 300]) raises no error and silently masks each integer to 8 bits, returning the exact same digest as sha256.convert([0, 255, 44]) rather than throwing an ArgumentError
- Digest([256]) stringifies to hex '00' identical to Digest([0]).toString() but evaluates to false under operator==
- Digest operator== returns false rather than throwing when compared with a hex String or byte List
- calling add() on a closed Hash chunked conversion sink throws StateError rather than ClosedException or silently accepting input
- calling close() repeatedly on a Hash chunked conversion sink is idempotent and raises no error
- calling add() on a closed HMAC chunked conversion sink throws StateError
文件
- NOTES.md
- csx.json
- pubspec.lock
- pubspec.yaml
- test/contract.dart
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- dart 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-17 · ed25519:d91480838ac982c9