Package Exports
- crypto-api-v1
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (crypto-api-v1) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Crypto API for JavaScript
Demo
- Basic hasher usage (html, js)
- File hashing on client side (html, js)
- Benchmark (html, js)
- Unit tests (html, js)
Documentation
Features
Hashing algorithms
- HAS-160
- MD2
- MD4
- MD5
- RIPEMD-160 (RIPEMD-128, RIPEMD-256, RIPEMD-320)
- SHA0
- SHA1
- SHA256 (SHA224)
- SHA512 (SHA384)
- SHA512/t (SHA512/256 SHA512/224)
- Snefru v2.0 (2 rounds 128, 4 rounds 256), Snefru v2.5 (8 rounds)
- WHIRLPOOL (WHIRLPOOL-0, WHIRLPOOL-T)
- SM3
MAC
Encodings
Examples
ES6 (recommended)
Calculates SHA256 hash from UTF string "message"
import Sha256 from "crypto-api/src/hasher/sha256";
import {toHex} from "crypto-api/src/encoder/hex";
import {fromUtf} from "crypto-api/src/encoder/utf";
let hasher = new Sha256();
hasher.update(fromUtf('message'));
console.log(toHex(hasher.finalize()));Calculates HMAC-MD5 from UTF string "message" with UTF key "key"
import Md5 from "crypto-api/src/hasher/md5";
import Hmac from "crypto-api/src/mac/hmac";
import {toHex} from "crypto-api/src/encoder/hex";
import {fromUtf} from "crypto-api/src/encoder/utf";
let hasher = new Md5();
let hmac = new Hmac(fromUtf('key'), hasher);
hmac.update(fromUtf('message'));
console.log(toHex(hmac.finalize()));Using in browser (ES5)
Calculates SHA256 hash from string "message"
<script src="https://nf404.github.io/crypto-api/crypto-api.min.js"></script>
<script>
var hasher = CryptoApi.getHasher('sha256');
hasher.update('message');
console.log(CryptoApi.encoder.toHex(hasher.finalize()));
</script>Calculates SHA256 hash from UTF string "message"
<script src="https://nf404.github.io/crypto-api/crypto-api.min.js"></script>
<script>
console.log(CryptoApi.hash('sha256', 'message'));
</script>Calculates HMAC-MD5 from string "message" with key "key"
<script src="https://nf404.github.io/crypto-api/crypto-api.min.js"></script>
<script>
var hasher = CryptoApi.getHasher('md5');
var hmac = CryptoApi.getHmac('key', hasher);
hmac.update('message');
console.log(CryptoApi.encoder.toHex(hmac.finalize()));
</script>Calculates HMAC-MD5 from UTF string "message" with UTF key "key"
<script src="https://nf404.github.io/crypto-api/crypto-api.min.js"></script>
<script>
var hasher = CryptoApi.getHasher('md5');
console.log(CryptoApi.hmac('key', 'message', hasher));
</script>