Home / APIs / Stateless Encryption

Stateless Encryption API

AES‑256‑GCM and RSA encrypt/decrypt, key generation, and hashing — your keys, we store nothing.

Get it on RapidAPI ↗

Stateless Encryption performs real cryptography over a simple JSON API, backed by Node's native crypto. Encrypt and decrypt with AES-256-GCM (authenticated) using either a 32-byte key or a password (scrypt-derived, with a returned salt); generate RSA keypairs (2048/3072/4096) and do RSA-OAEP SHA-256 encrypt/decrypt; generate random keys; and hash with SHA-256/512, SHA-1, or MD5.

Nothing is persisted — keys, passwords, plaintext, and ciphertext exist only for the request. Useful for end-to-end encryption helpers, secure token exchange, signing/verification workflows, and quick crypto debugging without wiring up libraries yourself.

Endpoints

MethodPathDescription
POST/aes/encryptAES encrypt
POST/aes/decryptAES decrypt
GET/key/generatekey generation
GET/rsa/keypairRSA keypair
POST/rsa/encryptRSA encrypt
POST/rsa/decryptRSA decrypt
POST/hashhash

Quick start

cURL (via RapidAPI)
curl --request curl \
  --url 'https://stateless-encryption.p.rapidapi.com/-X POST "https://stateless-encryption.p.rapidapi.com/aes/encrypt" -H "X-RapidAPI-Key: YOUR_KEY" -H "X-RapidAPI-Host: stateless-encryption.p.rapidapi.com" -H "Content-Type: application/json" -d '' \
  --header 'X-RapidAPI-Key: YOUR_KEY' \
  --header 'X-RapidAPI-Host: stateless-encryption.p.rapidapi.com' \
  --header 'content-type: application/json' \
  --data '{"plaintext":"Secret data","password":"correct horse battery staple"}''
JavaScript (fetch)
const res = await fetch('https://stateless-encryption.p.rapidapi.com/-X POST "https://stateless-encryption.p.rapidapi.com/aes/encrypt" -H "X-RapidAPI-Key: YOUR_KEY" -H "X-RapidAPI-Host: stateless-encryption.p.rapidapi.com" -H "Content-Type: application/json" -d '', {
  method: 'curl',
  headers: {
    'X-RapidAPI-Key': 'YOUR_KEY',
    'X-RapidAPI-Host': 'stateless-encryption.p.rapidapi.com',
    'content-type': 'application/json'
  },
  body: JSON.stringify({"plaintext":"Secret data","password":"correct horse battery staple"}')
});
const data = await res.json();
Example response
{
  "algorithm": "aes-256-gcm",
  "ciphertext": "qX3k...base64",
  "iv": "9Pp1...base64",
  "authTag": "Hn2c...base64",
  "salt": "b7Qd...base64"
}

Pricing

Subscribe on RapidAPI. Start free; upgrade as you scale.

Basic
Free
1,000 requests / mo
Pro
$5 / mo
100,000 requests / mo
Ultra
$20 / mo
1,000,000 requests / mo
Mega
$50 / mo
2,000,000 requests / mo

Frequently asked questions

Are keys stored?

No. Keys, passwords, and plaintext are used only for the request and never saved. AES uses AES-256-GCM (authenticated); pass either a 32-byte key (hex or base64) or a password (scrypt-derived, returning a salt to store alongside the ciphertext).

What algorithms are supported?

AES‑256‑GCM and RSA‑2048/4096.

Is there a size limit?

Up to 1,000,000 characters per request (plaintext).

Ready to build with Stateless Encryption?

Grab your key on RapidAPI and start on the free tier.

Get it on RapidAPI ↗