38

asdfgh - Lightweight (616 byte min+gz) asynchronous wrapper/loader for zxcvbn

 5 years ago
source link: https://www.tuicool.com/articles/hit/f6Jjyq3
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

asdfgh

Lightweight, asynchronous wrapper for zxcvbn. asdfgh is about 616 bytes min+gzip, it will only load zxcvbn (~200kb) when it's actually used.

Made for use in a browser either directly, or via a Node-style bundler such as Browserify or Webpack.

Installation

npm i asdfgh

Usage

import asdfgh from 'asdfgh';

async function checkPassphrase(pwd) {
  try {
    // check passphrase
    var result = await asdfgh(pwd);

    // do something with the results
    ...
  } catch(err) {
    ...
  }
}

// must call before any password check
function changeAsdfghOptions() {
  // default values used

  // url to load zxcvbn from
  const url = "https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.4.2/zxcvbn.js";

  // integrity parameter for script element
  const integritySRI = "sha256-Znf8FdJF85f1LV0JmPOob5qudSrns8pLPZ6qkd/+F0o=";

  // max time to wait for zxcvbn before timing out
  const timeout = 5000;

  asdfgh.setDefaults(url, integritySRI, timeoutMS);
}

Interface

  • asdfgh(passphrase, user_inputs) - exports a function which is a promisified wrapper for zxcvbn

  • asdfgh.setDefaults(url, integritySRI, timeoutMS)

    • Must be called before any passphrase checks are started
    • default:
    • url (default cloudflare/cdnjs) is the location of the zxcvbn.js to load
    • integritySRI [optional] integrity SRI for script element
    • timeoutMS [optional] milliseconds to wait for zxcvbn to load before timing out

    License

    MIT License


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK