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-9/

{
  "context": "This criteria evaluates how well the engineer leverages scrypt-js's asynchronous, state-machine-driven key derivation to implement non-blocking password hashing with progress tracking. The focus is on correct usage of the scrypt() function with its progress callback mechanism.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses scrypt() function",
      "description": "Implementation imports and uses the scrypt() asynchronous function from scrypt-js (not syncScrypt) to perform key derivation",
      "max_score": 25
    },
    {
      "name": "Passes progress callback",
      "description": "Implementation provides a progress callback function as the 7th parameter to scrypt() that receives progress values from 0 to 1",
      "max_score": 25
    },
    {
      "name": "Handles password encoding",
      "description": "Implementation properly converts the string password parameter into a Uint8Array or Buffer with appropriate encoding before passing to scrypt()",
      "max_score": 15
    },
    {
      "name": "Correct parameter passing",
      "description": "Implementation passes all six required scrypt parameters (password, salt, N, r, p, dkLen) in the correct order to the scrypt() function",
      "max_score": 15
    },
    {
      "name": "Returns Promise",
      "description": "Implementation returns the Promise from scrypt() (or uses async/await), enabling asynchronous non-blocking execution",
      "max_score": 10
    },
    {
      "name": "Forwards progress values",
      "description": "Implementation correctly forwards the progress values received from scrypt()'s internal state machine to the caller's progressCallback function",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-scrypt-js

tile.json