SHA-256 cryptographic hash function implementation for TypeScript and JavaScript
91
{
"context": "This criteria evaluates how effectively the engineer uses the @stablelib/sha256 package to implement streaming hash construction for file integrity verification. The focus is on proper usage of the SHA256 class for incremental hashing and efficient processing of file data in chunks.",
"type": "weighted_checklist",
"checklist": [
{
"name": "SHA256 instantiation",
"description": "Creates a new SHA256 instance using `new SHA256()` to initialize the hasher",
"max_score": 15
},
{
"name": "Streaming update",
"description": "Uses the `update()` method to incrementally process file chunks rather than hashing all data at once",
"max_score": 30
},
{
"name": "Hash finalization",
"description": "Calls the `digest()` method to retrieve the final hash after all data has been processed",
"max_score": 25
},
{
"name": "Hex encoding",
"description": "Uses @stablelib/hex package functions (such as `encode()`) to convert the binary hash digest to hexadecimal string format",
"max_score": 20
},
{
"name": "Proper chunking",
"description": "Processes file data in chunks by calling `update()` multiple times in a loop or stream, demonstrating understanding of incremental hashing",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-stablelib--sha256docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10