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 🙏

© 2025 – Pkg Stats / Ryan Hefner

devpayr-browser-crypto-sdk

v1.0.2

Published

Browser-safe AES-256-CBC encryption compatible with Laravel

Downloads

8

Readme

DevPayr Crypto (Browser SDK)

Secure, Laravel-compatible AES-256-CBC encryption & decryption for browser-based JavaScript apps.
This SDK is designed to match the encryption scheme used by the DevPayr platform, making it ideal for use in web-based clients.


✨ Features

  • 🔐 AES-256-CBC encryption with 16-byte random IV
  • 🔑 Accepts any string key and normalizes to 32-byte via SHA-256
  • 📦 Output format is base64(iv::cipherText) — fully compatible with Laravel
  • 💻 Runs in modern browsers using the Web Crypto API
  • 📜 TypeScript support included

📦 Installation

Via CDN (for browser use)

<script src="https://cdn.jsdelivr.net/npm/devpayr-browser-crypto-sdk/dist/devpayr-crypto.umd.js"></script>

Via ESM (for Vite, React, etc.)

npm install devpayr-browser-crypto

🚀 Usage

✅ In the Browser (CDN)

<script src="devpayr-crypto.umd.js"></script>
<script>
  (async () => {
    const encrypted = await DevPayrCrypto.encryptSecure("Hello, DevPayr!", "sk_test_123");
    const decrypted = await DevPayrCrypto.decryptSecure(encrypted, "sk_test_123");
    console.log({ encrypted, decrypted });
  })();
</script>

✅ In a Modern JS/TS Project

import { encryptSecure, decryptSecure } from 'devpayr-browser-crypto';

const encrypted = await encryptSecure("Hello, DevPayr!", "sk_test_123");
const decrypted = await decryptSecure(encrypted, "sk_test_123");

console.log({ encrypted, decrypted });

🛠️ How It Works

Uses the Web Crypto API under the hood (AES-CBC and SHA-256)

🔐 encryptSecure()

  • Generates a 16-byte IV
  • Hashes the key to 32 bytes
  • Encrypts the plaintext
  • Returns base64 of iv::cipherText

🔓 decryptSecure()

  • Splits and decodes IV + ciphertext
  • Reconstructs the key
  • Decrypts to the original plainText