npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

saro-dat

v4.2.0

Published

Distributed Access Token

Readme

DAT - Distributed Access Token

Document

DAT Run Online

What is DAT

Example

Support algorithm

Signature

| name | note | |-----------------|-----------------------| | ECDSA-P256 | = secp256r1 | | ECDSA-P384 | = secp384r1 | | ECDSA-P521 | = secp521r1 | | HMAC-SHA256-MFS | = 256Bit Fixed Secret | | HMAC-SHA384-MFS | = 384Bit Fixed Secret | | HMAC-SHA512-MFS | = 512Bit Fixed Secret |

  • MFS : Maximum(Same Bit) Fixed Secret

Crypto

| name | note | |------------|-------------------------------| | IV-AES128-GCM | (IV=NONCE:96BIT) + AES128 GCM | | IV-AES256-GCM | (IV=NONCE:96BIT) + AES256 GCM |

Performance

  • random plain and secure test
  • mac mini m4 2024 basic (10 core)
  • bench.test.ts
plain: 7Fv4lzA8oB9DBCu9vjFH2ULIPXJWISG9mkDez22ef2ZRuQhEVFDLwHwWGONvm2u31ICUkVt4WcoLyZlbbUq0q3dLutHX0Zvu7Z4A
secure: TRuWI6nZVIVL6mMsxXjfBbQrYeydpDUgymXzJsvmgAOxRcM6KZ7zYkPj4ohjRBv32QlDtLDbNba4h5DdYY1jjpyzW2ptOCxwBZ7r

Multi-Thread
HMAC-SHA256-MFS IV-AES128-GCM Issue * 10000 : 169ms
HMAC-SHA256-MFS IV-AES128-GCM Parse * 10000 : 161ms
HMAC-SHA256-MFS IV-AES256-GCM Issue * 10000 : 157ms
HMAC-SHA256-MFS IV-AES256-GCM Parse * 10000 : 154ms
HMAC-SHA384-MFS IV-AES128-GCM Issue * 10000 : 140ms
HMAC-SHA384-MFS IV-AES128-GCM Parse * 10000 : 166ms
HMAC-SHA384-MFS IV-AES256-GCM Issue * 10000 : 145ms
HMAC-SHA384-MFS IV-AES256-GCM Parse * 10000 : 153ms
HMAC-SHA512-MFS IV-AES128-GCM Issue * 10000 : 141ms
HMAC-SHA512-MFS IV-AES128-GCM Parse * 10000 : 152ms
HMAC-SHA512-MFS IV-AES256-GCM Issue * 10000 : 141ms
HMAC-SHA512-MFS IV-AES256-GCM Parse * 10000 : 153ms
ECDSA-P256 IV-AES128-GCM Issue * 10000 : 189ms
ECDSA-P256 IV-AES128-GCM Parse * 10000 : 177ms
ECDSA-P256 IV-AES256-GCM Issue * 10000 : 181ms
ECDSA-P256 IV-AES256-GCM Parse * 10000 : 178ms
ECDSA-P384 IV-AES128-GCM Issue * 10000 : 1000ms
ECDSA-P384 IV-AES128-GCM Parse * 10000 : 836ms
ECDSA-P384 IV-AES256-GCM Issue * 10000 : 1013ms
ECDSA-P384 IV-AES256-GCM Parse * 10000 : 876ms
ECDSA-P521 IV-AES128-GCM Issue * 10000 : 2404ms
ECDSA-P521 IV-AES128-GCM Parse * 10000 : 1880ms
ECDSA-P521 IV-AES256-GCM Issue * 10000 : 2427ms
ECDSA-P521 IV-AES256-GCM Parse * 10000 : 1889ms

Single-Thread
HMAC-SHA256-MFS IV-AES128-GCM Issue * 10000 : 268ms
HMAC-SHA256-MFS IV-AES128-GCM Parse * 10000 : 264ms
HMAC-SHA256-MFS IV-AES256-GCM Issue * 10000 : 271ms
HMAC-SHA256-MFS IV-AES256-GCM Parse * 10000 : 271ms
HMAC-SHA384-MFS IV-AES128-GCM Issue * 10000 : 260ms
HMAC-SHA384-MFS IV-AES128-GCM Parse * 10000 : 265ms
HMAC-SHA384-MFS IV-AES256-GCM Issue * 10000 : 261ms
HMAC-SHA384-MFS IV-AES256-GCM Parse * 10000 : 280ms
HMAC-SHA512-MFS IV-AES128-GCM Issue * 10000 : 265ms
HMAC-SHA512-MFS IV-AES128-GCM Parse * 10000 : 250ms
HMAC-SHA512-MFS IV-AES256-GCM Issue * 10000 : 261ms
HMAC-SHA512-MFS IV-AES256-GCM Parse * 10000 : 266ms
ECDSA-P256 IV-AES128-GCM Issue * 10000 : 446ms
ECDSA-P256 IV-AES128-GCM Parse * 10000 : 702ms
ECDSA-P256 IV-AES256-GCM Issue * 10000 : 448ms
ECDSA-P256 IV-AES256-GCM Parse * 10000 : 702ms
ECDSA-P384 IV-AES128-GCM Issue * 10000 : 4113ms
ECDSA-P384 IV-AES128-GCM Parse * 10000 : 3553ms
ECDSA-P384 IV-AES256-GCM Issue * 10000 : 4135ms
ECDSA-P384 IV-AES256-GCM Parse * 10000 : 3553ms
ECDSA-P521 IV-AES128-GCM Issue * 10000 : 9688ms
ECDSA-P521 IV-AES128-GCM Parse * 10000 : 7486ms
ECDSA-P521 IV-AES256-GCM Issue * 10000 : 9573ms
ECDSA-P521 IV-AES256-GCM Parse * 10000 : 7499ms