One key, one gateway
Use a Dakidarts API key with read or write scopes and control which APIs that key can reach.
Developer utilities for hashing, HMAC, AES/ChaCha20/Blowfish/RSA encryption, key and password generation, JWTs, encoding, and optional HIBP/VirusTotal lookups.
0 of 19 endpoints have an upstream URL configured. Other routes return 503 before billing; only send live requests to configured routes. The gateway injects upstream credentials for you.
Live checkout opens after an API route has an upstream URL. Preview examples are available below.
https://api.dakidarts.com/encryption-hashingX-API-Key: dk_live_...GET /hash/verifyUse a Dakidarts API key with read or write scopes and control which APIs that key can reach.
Wallet credits, plan quotas and organization invoices are settled per request with transparent response headers.
Latency, upstream status and execution mode are logged so integration issues are visible before they spread.
Keep the direct Dakidarts gateway as your primary route, or use the RapidAPI listing when marketplace billing and key management fit your stack better.
The best API is the one your team can integrate, observe and then stop thinking about.
Designed as a composable building block for product teams, internal tooling and automation.
Designed as a composable building block for product teams, internal tooling and automation.
Designed as a composable building block for product teams, internal tooling and automation.
Selected facts about coverage, delivery and production readiness.
Access, billing and integration details for Encryption & Hashing Utility API.
Common hashing and encryption operations; see the endpoint reference for the exact algorithms.
Only where the endpoint supports reversible operations and you supply the correct key.
No. Use purpose-built password hashing such as Argon2 or bcrypt rather than a generic hash API.
Subscribe on the Dakidarts dashboard, then use an API key with this API in scope.
Use HTTPS, keep API keys server-side and avoid logging sensitive payloads or credentials.
Plans are shown for reference. Live checkout opens after an API route has an upstream URL.
$0.00 / month
Start with a Dakidarts key, call the gateway, then monitor usage from the dashboard.
Choose the API scope, then copy the key into your server environment.
Send requests to https://api.dakidarts.com/encryption-hashing with your key and JSON body.
Track calls, latency and spend from the API dashboard and wallet.
These routes include contracts imported from the product implementation. 0 of 19 endpoints have an upstream URL configured. Other routes return 503 before billing; saved examples are previews only. Configure an upstream URL in API Studio to enable those routes.
Operations endpoints sourced from the Encryption & Hashing Utility API implementation.
/status
Status
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Health check. Returns API name, version, uptime and current UTC time.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
GET /statusHealth check. Returns API name, version, uptime and current UTC time.
| Param | Type | Required | Description |
|---|---|---|---|
| — | — | — | No parameters |
Example
GET /status
Response
{
"ok": true,
"name": "Encryption & Hashing Utility API",
"version": "v0.0.2",
"uptime_seconds": 1234.5,
"time": "2026-08-28T09:00:00Z"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: status. Reference: RAPID_README.md.
{
"ok": true,
"name": "Encryption & Hashing Utility API",
"time": "2026-08-28T09:00:00Z",
"version": "v0.0.2",
"uptime_seconds": 1234.5
}curl -X GET https://api.dakidarts.com/encryption-hashing/status -H 'X-API-Key: dk_live_...' -H 'Accept: application/json'
/meta
Meta
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Machine-readable metadata: version + every available endpoint.
Snapshot from
docs/ENDPOINTS.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
GET /metaMachine-readable metadata: version + every available endpoint.
curl http://127.0.0.1:5000/meta
Source contract imported from encryption & hashing utility API/app.py. Handler: meta. Reference: docs/ENDPOINTS.md.
curl -X GET https://api.dakidarts.com/encryption-hashing/meta -H 'X-API-Key: dk_live_...' -H 'Accept: application/json'
Cryptography endpoints sourced from the Encryption & Hashing Utility API implementation.
/hash
Hash Endpoint
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Hash any text with 19 algorithms: SHA-1/SHA-2/SHA-3, MD5, BLAKE2, RIPEMD-160, CRC32/Adler32 checksums, and secure password hashes (bcrypt, argon2, scrypt, PBKDF2).
Snapshot from
docs/ENDPOINTS.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /hashHash arbitrary text.
Body:
| Param | Type | Required | Notes |
|---|---|---|---|
text | string | yes | The data to hash |
algo | string | yes | One of the algorithms below |
rounds | int | no | bcrypt cost (default 12) |
salt | string | no | scrypt/PBKDF2 salt, base64 (random if omitted) |
n / r / p | int | no | scrypt params (defaults 16384 / 8 / 1) |
iterations | int | no | PBKDF2 iterations (default 100000) |
digest | string | no | PBKDF2 digest: sha1/sha256/sha512 (default sha256) |
Supported algorithms:
| Group | Algorithms |
|---|---|
| SHA-2 | sha1, sha224, sha256, sha384, sha512 |
| SHA-3 | sha3-224, sha3-256, sha3-384, sha3-512 |
| Legacy | md5, ripemd160 |
| BLAKE2 | blake2b, blake2s |
| Checksums | crc32, crc32c, adler32 |
| Salted/KDF | bcrypt, argon2, scrypt, pbkdf2 |
Example — SHA-256:
curl -X POST http://127.0.0.1:5000/hash \
-H "Content-Type: application/json" \
-d '{"text": "hello world", "algo": "sha256"}'
{ "algorithm": "sha256", "result": "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9" }
Example — bcrypt (cost 10):
{ "algorithm": "bcrypt", "result": "$2b$10$9ZxNYjy2SrLMfglfN173EuCFYXPSPBDwslwyNdwybIybzogHn8te." }
Example — scrypt (returns salt too, for later reproduction):
{
"algorithm": "scrypt",
"result": "3f24780d883ad2c937ba530553fa97a5bedfb05e3baf108aa7e0a6308386ef09b...",
"salt": "t92n4puQNcbvlBPysv92yg==",
"params": { "n": 16384, "r": 8, "p": 1 }
}
Note:
md5andsha1are cryptographically broken — use SHA-256+ for security
purposes; they are offered for compatibility and checksum workloads.
Source contract imported from encryption & hashing utility API/app.py. Handler: hash_endpoint. Reference: docs/ENDPOINTS.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
text | body | string | Yes | Plaintext input to hash, encrypt, encode, or otherwise process. |
algo | body | string | Yes | Cryptographic algorithm to use. |
rounds | body | integer | No | Work factor/round count for algorithms that support iterative hashing. |
salt | body | string | No | Optional salt used by the selected password-hashing algorithm. |
n | body | integer | No | scrypt cost parameter N. |
r | body | integer | No | scrypt block-size parameter r. |
p | body | integer | No | scrypt parallelization parameter p. |
iterations | body | integer | No | Iteration count for the selected key derivation/hash algorithm. |
digest | body | string | No | Digest encoding/format requested for the output. |
{
"type": "object",
"properties": {
"salt": {
"description": "Dynamic source value; no concrete response example is published."
},
"params": {
"type": "object",
"properties": {
"digest": {
"description": "Dynamic source value; no concrete response example is published."
},
"iterations": {
"description": "Dynamic source value; no concrete response example is published."
}
},
"additionalProperties": true
},
"result": {
"description": "Dynamic source value; no concrete response example is published."
},
"algorithm": {
"description": "Dynamic source value; no concrete response example is published."
}
},
"additionalProperties": true
}curl -X POST https://api.dakidarts.com/encryption-hashing/hash -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"text": "example", "algo": "example", "rounds": "example", "salt": "example", "n": "example", "r": "example", "p": "example", "iterations": "example", "digest": "example"}'
/hash/verify
Hash Verify
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Verify a `bcrypt` or `argon2` hash against a plaintext password. Ideal for login flows.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /hash/verifyVerify a bcrypt or argon2 hash against a plaintext password. Ideal for login flows.
| Param | Type | Required | Description |
|---|---|---|---|
text | string | ✅ Yes | The plaintext to check. |
algo | string | ✅ Yes | One of: bcrypt, argon2. |
hash | string | ✅ Yes | The stored hash to verify against. |
Example
POST /hash/verify
{
"text": "mypassword",
"algo": "argon2",
"hash": "$argon2id$v=19$m=65536,t=3,p=4$..."
}
Response
{
"algorithm": "argon2",
"verified": true
}
Source contract imported from encryption & hashing utility API/app.py. Handler: hash_verify. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
text | body | string | Yes | The plaintext to check. |
algo | body | string | Yes | One of: `bcrypt`, `argon2`. |
hash | body | string | Yes | The stored hash to verify against. |
{
"verified": true,
"algorithm": "argon2"
}curl -X POST https://api.dakidarts.com/encryption-hashing/hash/verify -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"text": "example", "algo": "example", "hash": "example"}'
/hmac
Hmac Endpoint
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Sign a message with an HMAC key (SHA-1/224/256/384/512). Use for API request signing, webhook validation and message integrity.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /hmacSign a message with an HMAC key (SHA-1/224/256/384/512). Use for API request signing, webhook validation and message integrity.
| Param | Type | Required | Description |
|---|---|---|---|
text | string | ✅ Yes | The message to sign. |
key | string | ✅ Yes | HMAC secret key. |
algo | string | ❌ No | One of: sha1, sha224, sha256, sha384, sha512. Default: sha256. |
Example
POST /hmac
{
"text": "message",
"key": "secret",
"algo": "sha256"
}
Response
{
"algorithm": "sha256",
"result": "8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: hmac_endpoint. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
text | body | string | Yes | The message to sign. |
key | body | string | Yes | HMAC secret key. |
algo | body | string | No | One of: `sha1`, `sha224`, `sha256`, `sha384`, `sha512`. Default: `sha256`. |
{
"result": "8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b",
"algorithm": "sha256"
}curl -X POST https://api.dakidarts.com/encryption-hashing/hmac -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"text": "example", "key": "example", "algo": "sha256"}'
/encrypt
Encrypt
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Encrypt text with 5 ciphers: **AES-CBC**, **AES-GCM** (authenticated), **ChaCha20**, **Blowfish** and **RSA-OAEP**. Returns base64 ciphertext plus the `iv` / `nonce` / `tag` needed for decryption.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /encryptEncrypt text with 5 ciphers: AES-CBC, AES-GCM (authenticated), ChaCha20, Blowfish and RSA-OAEP. Returns base64 ciphertext plus the iv / nonce / tag needed for decryption.
| Param | Type | Required | Description |
|---|---|---|---|
text | string | ✅ Yes | Plaintext to encrypt. |
algo | string | ✅ Yes | One of: aes-cbc, aes-gcm, chacha20, blowfish, rsa (aliases: aes, aes256). |
key | string | ✅ Yes | Symmetric key (any string, normalized to cipher size) or PEM public key for RSA. |
Example — AES-GCM (recommended, authenticated)
POST /encrypt
{
"text": "secret data",
"algo": "aes-gcm",
"key": "mysecretkey123"
}
Response
{
"algorithm": "AES-GCM",
"result": {
"ciphertext": "dQmpD2zuCEA=",
"nonce": "YIpfsm2fZMzSH2fi3gH9ew==",
"tag": "id6eLlLQpC/jc+0zdemNew==",
"mode": "GCM"
}
}
Example — AES-CBC
POST /encrypt
{
"text": "secret data",
"algo": "aes-cbc",
"key": "mysecretkey123"
}
Response
{
"algorithm": "AES-CBC",
"result": {
"ciphertext": "4tD5a8l1oG+Q6...",
"iv": "jhs78J9n0sdh==",
"mode": "CBC"
}
}
Example — RSA
POST /encrypt
{
"text": "hidden message",
"algo": "rsa",
"key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkq...\n-----END PUBLIC KEY-----"
}
Response
{
"algorithm": "RSA",
"result": {
"ciphertext": "Lk23a9hdJd+Skj2..."
}
}
Source contract imported from encryption & hashing utility API/app.py. Handler: encrypt. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
text | body | string | Yes | Plaintext to encrypt. |
algo | body | string | Yes | One of: `aes-cbc`, `aes-gcm`, `chacha20`, `blowfish`, `rsa` (aliases: `aes`, `aes256`). |
key | body | string | Yes | Symmetric key (any string, normalized to cipher size) or **PEM public key** for RSA. |
{
"result": {
"tag": "id6eLlLQpC/jc+0zdemNew==",
"mode": "GCM",
"nonce": "YIpfsm2fZMzSH2fi3gH9ew==",
"ciphertext": "dQmpD2zuCEA="
},
"algorithm": "AES-GCM"
}curl -X POST https://api.dakidarts.com/encryption-hashing/encrypt -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"text": "example", "algo": "example", "key": "example"}'
/decrypt
Decrypt
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Decrypt ciphertext produced by `/encrypt` (AES-CBC, AES-GCM, ChaCha20, Blowfish, RSA). **AES-GCM verifies authenticity** and rejects tampered data.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /decryptDecrypt ciphertext produced by /encrypt (AES-CBC, AES-GCM, ChaCha20, Blowfish, RSA). AES-GCM verifies authenticity and rejects tampered data.
| Param | Type | Required | Description |
|---|---|---|---|
algo | string | ✅ Yes | One of: aes-cbc, aes-gcm, chacha20, blowfish, rsa. |
key | string | ✅ Yes | Same key used to encrypt, or PEM private key for RSA. |
ciphertext | string | ✅ Yes | Base64 ciphertext from /encrypt. |
iv | string | ⚠️ Depends | Required (Base64) for aes-cbc and blowfish. |
nonce | string | ⚠️ Depends | Required (Base64) for aes-gcm and chacha20. |
tag | string | ⚠️ Depends | Required (Base64) for aes-gcm. |
Example
POST /decrypt
{
"algo": "aes-gcm",
"key": "mysecretkey123",
"ciphertext": "dQmpD2zuCEA=",
"nonce": "YIpfsm2fZMzSH2fi3gH9ew==",
"tag": "id6eLlLQpC/jc+0zdemNew=="
}
Response
{
"algorithm": "AES-GCM",
"result": "secret data"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: decrypt. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
algo | body | string | Yes | One of: `aes-cbc`, `aes-gcm`, `chacha20`, `blowfish`, `rsa`. |
key | body | string | Yes | Same key used to encrypt, or **PEM private key** for RSA. |
ciphertext | body | string | Yes | Base64 ciphertext from `/encrypt`. |
iv | body | string | No | Required (Base64) for `aes-cbc` and `blowfish`. |
nonce | body | string | No | Required (Base64) for `aes-gcm` and `chacha20`. |
tag | body | string | No | Required (Base64) for `aes-gcm`. |
{
"result": "secret data",
"algorithm": "AES-GCM"
}curl -X POST https://api.dakidarts.com/encryption-hashing/decrypt -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"algo": "example", "key": "example", "ciphertext": "example", "iv": "example", "nonce": "example", "tag": "example"}'
/rsa/keys
Rsa Keys
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Generate a fresh RSA key pair (1024–4096 bit) as PEM. Returns both private and public keys.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /rsa/keysGenerate a fresh RSA key pair (1024–4096 bit) as PEM. Returns both private and public keys.
| Param | Type | Required | Description |
|---|---|---|---|
bits | int | ❌ No | One of: 1024, 2048, 3072, 4096. Default: 2048. |
Example
POST /rsa/keys
{
"bits": 2048
}
Response
{
"algorithm": "RSA",
"bits": 2048,
"private_key": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----",
"public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: rsa_keys. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
bits | body | integer | No | One of: `1024`, `2048`, `3072`, `4096`. Default: `2048`. |
{
"bits": 2048,
"algorithm": "RSA",
"public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"
}curl -X POST https://api.dakidarts.com/encryption-hashing/rsa/keys -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"bits": 2048}'
/keys
Generate Keys
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Generate AES symmetric keys (hex + base64), random bytes, or URL-safe API secret tokens.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /rsa/keysGenerate a fresh RSA key pair (1024–4096 bit) as PEM. Returns both private and public keys.
| Param | Type | Required | Description |
|---|---|---|---|
bits | int | ❌ No | One of: 1024, 2048, 3072, 4096. Default: 2048. |
Example
POST /rsa/keys
{
"bits": 2048
}
Response
{
"algorithm": "RSA",
"bits": 2048,
"private_key": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----",
"public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: generate_keys. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
type | body | string | Yes | One of: `aes`, `aes256`, `aes128`, `bytes`, `random`, `secret`, `api_key`. |
size | body | integer | No | Size in bytes for `aes` / `bytes`. Default: `32`. |
length | body | integer | No | Character length for `secret` / `api_key`. Default: `32`. |
{
"bits": 2048,
"algorithm": "RSA",
"public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"
}curl -X POST https://api.dakidarts.com/encryption-hashing/keys -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"type": "example", "size": 32, "length": 32}'
/password
Password
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Generate a cryptographically strong random password, guaranteed to contain lowercase, uppercase and digits (plus symbols if enabled).
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /passwordGenerate a cryptographically strong random password, guaranteed to contain lowercase, uppercase and digits (plus symbols if enabled).
| Param | Type | Required | Description |
|---|---|---|---|
length | int | ❌ No | Length 4–128. Default: 20. |
symbols | bool | ❌ No | Include symbols. Default: true. |
Example
POST /password
{
"length": 16,
"symbols": true
}
Response
{
"length": 16,
"result": "6?9t_Qa;Y?1kry,[",
"symbols": true
}
Source contract imported from encryption & hashing utility API/app.py. Handler: password. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
length | body | integer | No | Length 4–128. Default: `20`. |
symbols | body | boolean | No | Include symbols. Default: `true`. |
{
"length": 16,
"result": "6?9t_Qa;Y?1kry,[",
"symbols": true
}curl -X POST https://api.dakidarts.com/encryption-hashing/password -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"length": 20, "symbols": true}'
/uuid
Uuid Endpoint
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Generate a UUID v4 (random) or v1 (time-based).
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
GET /uuidGenerate a UUID v4 (random) or v1 (time-based).
| Param | Type | Required | Description |
|---|---|---|---|
version | string | ❌ No | One of: 4, 1. Default: 4. |
Example
GET /uuid?version=4
Response
{
"version": "4",
"result": "2ae5a0c1-0315-49a9-92cd-fdece27f048b"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: uuid_endpoint. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
version | query | string | No | One of: `4`, `1`. Default: `4`. |
{
"result": "2ae5a0c1-0315-49a9-92cd-fdece27f048b",
"version": "4"
}curl -X GET 'https://api.dakidarts.com/encryption-hashing/uuid?version=4' -H 'X-API-Key: dk_live_...' -H 'Accept: application/json'
/encode/base64
Encode Base64
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Encode any text to base64.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /encode/base64Encode any text to base64.
| Param | Type | Required | Description |
|---|---|---|---|
text | string | ✅ Yes | Text to encode. |
Example
POST /encode/base64
{
"text": "hello world"
}
Response
{
"encoding": "base64",
"result": "aGVsbG8gd29ybGQ="
}
Source contract imported from encryption & hashing utility API/app.py. Handler: encode_base64. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
text | body | string | Yes | Text to encode. |
{
"result": "aGVsbG8gd29ybGQ=",
"encoding": "base64"
}curl -X POST https://api.dakidarts.com/encryption-hashing/encode/base64 -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"text": "example"}'
/decode/base64
Decode Base64
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Decode a base64 string back to text.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /decode/base64Decode a base64 string back to text.
| Param | Type | Required | Description |
|---|---|---|---|
text | string | ✅ Yes | Base64 to decode. |
Example
POST /decode/base64
{
"text": "aGVsbG8gd29ybGQ="
}
Response
{
"encoding": "base64",
"result": "hello world"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: decode_base64. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
text | body | string | Yes | Base64 to decode. |
{
"result": "hello world",
"encoding": "base64"
}curl -X POST https://api.dakidarts.com/encryption-hashing/decode/base64 -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"text": "example"}'
/encode/url
Encode Url
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Percent-encode a string for safe use in URLs and query strings.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /encode/urlPercent-encode a string for safe use in URLs and query strings.
| Param | Type | Required | Description |
|---|---|---|---|
text | string | ✅ Yes | Text to encode. |
Example
POST /encode/url
{
"text": "a b&c=d"
}
Response
{
"encoding": "url",
"result": "a%20b%26c%3Dd"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: encode_url. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
text | body | string | Yes | Text to encode. |
{
"result": "a%20b%26c%3Dd",
"encoding": "url"
}curl -X POST https://api.dakidarts.com/encryption-hashing/encode/url -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"text": "example"}'
/decode/url
Decode Url
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Decode a percent-encoded string back to readable text.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /decode/urlDecode a percent-encoded string back to readable text.
| Param | Type | Required | Description |
|---|---|---|---|
text | string | ✅ Yes | Encoded string. |
Example
POST /decode/url
{
"text": "a%20b%26c%3Dd"
}
Response
{
"encoding": "url",
"result": "a b&c=d"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: decode_url. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
text | body | string | Yes | Encoded string. |
{
"result": "a b&c=d",
"encoding": "url"
}curl -X POST https://api.dakidarts.com/encryption-hashing/decode/url -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"text": "example"}'
/jwt/encode
Jwt Encode
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Create a signed JWT (HS256/HS384/HS512) from any JSON payload — for auth tokens, session tokens and API keys.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /jwt/encodeCreate a signed JWT (HS256/HS384/HS512) from any JSON payload — for auth tokens, session tokens and API keys.
| Param | Type | Required | Description |
|---|---|---|---|
payload | object | ✅ Yes | JSON object to embed in the token. |
secret | string | ✅ Yes | HMAC signing secret. |
algo | string | ❌ No | One of: HS256, HS384, HS512. Default: HS256. |
Example
POST /jwt/encode
{
"payload": {
"user": "dakid",
"role": "admin"
},
"secret": "s3cret",
"algo": "HS256"
}
Response
{
"algorithm": "HS256",
"result": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiZGFraWQiLCJyb2xlIjoiYWRtaW4ifQ.Mc0J6lOOZEfuvlfwVQjoHt60cCc3uFKKJpXn0N_r5J8"
}
Source contract imported from encryption & hashing utility API/app.py. Handler: jwt_encode. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
payload | body | object | Yes | JSON object to embed in the token. |
secret | body | string | Yes | HMAC signing secret. |
algo | body | string | No | One of: `HS256`, `HS384`, `HS512`. Default: `HS256`. |
{
"result": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiZGFraWQiLCJyb2xlIjoiYWRtaW4ifQ.Mc0J6lOOZEfuvlfwVQjoHt60cCc3uFKKJpXn0N_r5J8",
"algorithm": "HS256"
}curl -X POST https://api.dakidarts.com/encryption-hashing/jwt/encode -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"payload": "example", "secret": "example", "algo": "HS256"}'
/jwt/decode
Jwt Decode
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Verify a JWT signature and decode its payload. Returns an error for wrong secrets, expired or tampered tokens.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /jwt/decodeVerify a JWT signature and decode its payload. Returns an error for wrong secrets, expired or tampered tokens.
| Param | Type | Required | Description |
|---|---|---|---|
token | string | ✅ Yes | The JWT to decode. |
secret | string | ✅ Yes | Secret used to sign the token. |
Example
POST /jwt/decode
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"secret": "s3cret"
}
Response
{
"payload": {
"user": "dakid",
"role": "admin"
}
}
Source contract imported from encryption & hashing utility API/app.py. Handler: jwt_decode. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
token | body | string | Yes | The JWT to decode. |
secret | body | string | Yes | Secret used to sign the token. |
{
"payload": {
"role": "admin",
"user": "dakid"
}
}curl -X POST https://api.dakidarts.com/encryption-hashing/jwt/decode -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"token": "example", "secret": "example"}'
/external/pwned
Pwned
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Check if a password has appeared in known data breaches via **Have I Been Pwned**. Uses **k-anonymity** — only the first 5 characters of the SHA-1 hash leave your device; the password itself is never transmitted. **BYOK:** supply your own `X-Hibp-Api-Key` header (optional — works keyless).
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /external/pwnedCheck if a password has appeared in known data breaches via Have I Been Pwned. Uses k-anonymity — only the first 5 characters of the SHA-1 hash leave your device; the password itself is never transmitted. BYOK: supply your own X-Hibp-Api-Key header (optional — works keyless).
| Param | Type | Required | Description |
|---|---|---|---|
password | string | ✅ Yes | Password to check. |
X-Hibp-Api-Key | header | ❌ No | Your HIBP key (for premium rate limits). |
Example
POST /external/pwned
{
"password": "password123"
}
Response
{
"service": "Have I Been Pwned",
"sha1_prefix": "CBFDA",
"breached": true,
"occurrences": 2266543,
"key_used": false,
"message": "Password appears 2266543 time(s) in known breaches."
}
Source contract imported from encryption & hashing utility API/app.py. Handler: pwned. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
password | body | string | Yes | Password to check. |
X-Hibp-Api-Key | header | string | No | Your HIBP key (for premium rate limits). |
{
"message": "Password appears 2266543 time(s) in known breaches.",
"service": "Have I Been Pwned",
"breached": true,
"key_used": false,
"occurrences": 2266543,
"sha1_prefix": "CBFDA"
}curl -X POST https://api.dakidarts.com/encryption-hashing/external/pwned -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'X-Hibp-Api-Key: YOUR_X_HIBP_API_KEY' -H 'Content-Type: application/json' -d '{"password": "example"}'
/external/virustotal
Virustotal
SOURCE CONTRACT — UPSTREAM NEEDED
$0.0050 / call / 120 rpm
Upstream needed
Look up the malware reputation of a file hash (MD5/SHA1/SHA256) in **VirusTotal's** database. Returns detection stats and a permalink. **BYOK:** requires your own `X-Virustotal-Api-Key` header.
Snapshot from
RAPID_README.mdfor source API versionv0.0.2. This is source documentation, not evidence that an upstream is deployed.
POST /external/virustotalLook up the malware reputation of a file hash (MD5/SHA1/SHA256) in VirusTotal's database. Returns detection stats and a permalink. BYOK: requires your own X-Virustotal-Api-Key header.
| Param | Type | Required | Description |
|---|---|---|---|
resource | string | ✅ Yes | MD5/SHA1/SHA256 file hash (alias: hash). |
X-Virustotal-Api-Key | header | ✅ Yes | Your VirusTotal API key. |
Example
POST /external/virustotal
{
"resource": "d41d8cd98f00b204e9800998ecf8427e"
}
Response
{
"service": "VirusTotal",
"found": true,
"sha256": "...",
"md5": "...",
"sha1": "...",
"reputation": 0,
"meaningful_name": "file.exe",
"last_analysis_stats": {
"harmless": 70,
"malicious": 1,
"suspicious": 0,
"undetected": 20,
"timeout": 0
},
"permalink": "https://www.virustotal.com/gui/file/..."
}
Source contract imported from encryption & hashing utility API/app.py. Handler: virustotal. Reference: RAPID_README.md.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
resource | body | string | Yes | MD5/SHA1/SHA256 file hash (alias: `hash`). |
X-Virustotal-Api-Key | header | string | Yes | Your VirusTotal API key. |
{
"type": "object",
"properties": {
"md5": {
"description": "Dynamic source value; no concrete response example is published."
},
"sha1": {
"description": "Dynamic source value; no concrete response example is published."
},
"found": {
"type": "boolean"
},
"sha256": {
"description": "Dynamic source value; no concrete response example is published."
},
"service": {
"description": "Dynamic source value; no concrete response example is published."
},
"permalink": {
"description": "Dynamic source value; no concrete response example is published."
},
"reputation": {
"description": "Dynamic source value; no concrete response example is published."
},
"meaningful_name": {
"description": "Dynamic source value; no concrete response example is published."
},
"last_analysis_stats": {
"description": "Dynamic source value; no concrete response example is published."
}
},
"additionalProperties": true
}curl -X POST https://api.dakidarts.com/encryption-hashing/external/virustotal -H 'X-API-Key: dk_live_...' -H 'Accept: application/json' -H 'X-Virustotal-Api-Key: YOUR_X_VIRUSTOTAL_API_KEY' -H 'Content-Type: application/json' -d '{"resource": "example"}'
No endpoints match that search. Clear the search to see all routes.
Edit a JSON request to validate its syntax and preview the published sample response. This stays in your browser; it never calls the live API or uses credits.
The preview checks JSON syntax and shows the saved example response; it does not execute request values.
These are integration templates, not runnable sample calls. Configure an endpoint upstream in API Studio, then replace the placeholder path. Saved samples stay preview-only.
# Replace with a connected GET route and include any required parameters.
curl -X GET "https://api.dakidarts.com/encryption-hashing/v1/your-connected-endpoint" \
-H "X-API-Key: dk_live_..." \
-H "Accept: application/json"
# Replace with a connected GET route and include any required parameters.
import requests
headers = {"X-API-Key": "dk_live_..."}
response = requests.get("https://api.dakidarts.com/encryption-hashing/v1/your-connected-endpoint", headers=headers)
print(response.json())
// Replace with a connected GET route and include any required parameters.
const res = await fetch("https://api.dakidarts.com/encryption-hashing/v1/your-connected-endpoint", {
headers: { "X-API-Key": "dk_live_..." }
});
const data = await res.json();
console.log(data);
<?php
// Replace with a connected GET route and include any required parameters.
$ch = curl_init("https://api.dakidarts.com/encryption-hashing/v1/your-connected-endpoint");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: dk_live_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);