
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
novice-webcrypto
Advanced tools
A simple wrapper for the browser's Web Crypto API. Supports AES-GCM, RSA, and ECDSA (P-256), exposing easy-to-use functions where all keys are safe Base64 strings.
Simplify browser cryptography with safe, easy-to-use TypeScript classes.
Built for developers who dislike the verbose native Web Crypto API.
Every key is a Base64-safe string — easy to store, transfer, and reuse.
npm install novice-webcrypto
or
pnpm add novice-webcrypto
import { AES } from "novice-webcrypto";
// Generate a new AES key
const key = await AES.generateKey();
// Encrypt
const { iv, ciphertext } = await AES.encrypt(key, "Hello World");
// Decrypt
const plaintext = await AES.decrypt(key, iv, ciphertext);
console.log(plaintext); // Hello World\
import { ECDSA } from "novice-webcrypto";
const { publicKey, privateKey } = await ECDSA.generateKeyPair();
const message = "Important message";
const signature = await ECDSA.sign(privateKey, message);
const valid = await ECDSA.verify(publicKey, message, signature);
console.log(valid); // true
import { RSA } from "novice-webcrypto";
const { publicKey, privateKey } = await RSA.generateKeyPair();
const plaintext = "Secret message";
const ciphertext = await RSA.encrypt(publicKey, plaintext);
const decrypted = await RSA.decrypt(privateKey, ciphertext);
console.log(decrypted); // Secret message
AES.generateKey() → base64 key
AES.encrypt(base64Key, plaintext) → { iv, ciphertext }
AES.decrypt(base64Key, iv, ciphertext) → plaintext
ECDSA.generateKeyPair() → { publicKey, privateKey } (base64 JWK)
ECDSA.sign(privateKey, message) → signature (base64)
ECDSA.verify(publicKey, message, signature) → boolean
RSA.generateKeyPair() → { publicKey, privateKey } (base64 PEM or JWK)
RSA.encrypt(publicKey, plaintext) → ciphertext (base64)
RSA.decrypt(privateKey, ciphertext) → plaintext
MIT License © 2025 Lê Minh Quân
FAQs
A simple wrapper for the browser's Web Crypto API. Supports AES-GCM, RSA, and ECDSA (P-256), exposing easy-to-use functions where all keys are safe Base64 strings.
The npm package novice-webcrypto receives a total of 5 weekly downloads. As such, novice-webcrypto popularity was classified as not popular.
We found that novice-webcrypto demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.