CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-scrypt-js

The scrypt password-based key derivation function with sync and cancellable async.

Overall
score

98%

Overview
Eval results
Files

rubric.jsonevals/scenario-5/

{
  "context": "This criteria evaluates how well the engineer uses scrypt-js for batch password derivation with a focus on proper handling of typed arrays (Uint8Array) for memory-efficient operations, correct conversion between strings and byte arrays, and appropriate use of the scrypt API.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "scrypt function usage",
      "description": "Uses the scrypt.scrypt() function (or named import scrypt as scryptAsync) to derive keys asynchronously with correct parameter signature",
      "max_score": 25
    },
    {
      "name": "Correct parameters",
      "description": "Passes all required scrypt parameters correctly: password as ArrayLike<number>, salt as ArrayLike<number>, N=1024, r=8, p=1, dkLen=32",
      "max_score": 20
    },
    {
      "name": "Buffer/Uint8Array conversion",
      "description": "Converts password and salt strings to Buffer or Uint8Array (or other ArrayLike<number>) format using Buffer.from() or equivalent typed array operations",
      "max_score": 20
    },
    {
      "name": "Uint8Array output handling",
      "description": "Correctly handles the Uint8Array returned by scrypt.scrypt() and converts it to hexadecimal string format",
      "max_score": 20
    },
    {
      "name": "Array iteration",
      "description": "Processes multiple passwords by iterating through the password array and calling scrypt for each, properly handling the async operations (e.g., using Promise.all or sequential await)",
      "max_score": 15
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-scrypt-js

tile.json