0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-30 09:08:00 -04:00
denoland-deno/std/hash
2020-06-26 14:11:20 -04:00
..
_fnv refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
_sha3 feat(std/hash): add sha3 (#5558) 2020-06-04 15:14:36 -04:00
_wasm perf(std/hash): optimize for speed (O3) (#6499) 2020-06-26 14:11:20 -04:00
testdata fix(std/hash): SHA1 hash of Uint8Array (#5086) 2020-05-18 00:04:11 +02:00
fnv.ts feat: add std/hash/fnv (#5403) 2020-05-15 09:42:19 -04:00
fnv_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
hash_test.ts feat(std/hash): reimplement all hashes in WASM (#6292) 2020-06-16 17:12:50 -04:00
hasher.ts feat(std/hash): reimplement all hashes in WASM (#6292) 2020-06-16 17:12:50 -04:00
md5.ts make std deno-lint clean (#6240) 2020-06-12 09:19:29 -04:00
md5_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
mod.ts feat(std/hash): reimplement all hashes in WASM (#6292) 2020-06-16 17:12:50 -04:00
README.md feat(std/hash): reimplement all hashes in WASM (#6292) 2020-06-16 17:12:50 -04:00
sha1.ts fix(std/hash): SHA1 hash of Uint8Array (#5086) 2020-05-18 00:04:11 +02:00
sha1_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
sha3.ts feat(std/hash): add sha3 (#5558) 2020-06-04 15:14:36 -04:00
sha3_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
sha256.ts Migrate from dprint-ignore to deno-fmt-ignore (#5659) 2020-05-27 14:21:18 +02:00
sha256_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00
sha512.ts feat(std/hash): add Sha512 and HmacSha512 (#6009) 2020-05-31 16:03:37 -04:00
sha512_test.ts refactor: Don't destructure the Deno namespace (#6268) 2020-06-12 15:23:38 -04:00

std/hash

Usage

Creating new hash instance

You can create a new Hasher instance by calling createHash defined in mod.ts.

import { createHash } from "https://deno.land/std/hash/mod.ts";

const hash = createHash("md5");
// ...

Using hash instance

You can use update method to feed data into your hash instance. Call digest method to retrive final hash value in ArrayBuffer.

import { createHash } from "https://deno.land/std/hash/mod.ts";

const hash = createHash("md5");
hash.update("Your data here");
const final = hash.digest(); // returns ArrayBuffer

Please note that digest invalidates the hash instance's internal state. Calling digest more than once will throw an Error.

import { createHash } from "https://deno.land/std/hash/mod.ts";

const hash = createHash("md5");
hash.update("Your data here");
const final1 = hash.digest(); // returns ArrayBuffer
const final2 = hash.digest(); // throws Error

If you need final hash in string formats, call toString method with output format.

Supported formats are hex and base64 and default format is hex.

import { createHash } from "https://deno.land/std/hash/mod.ts";

const hash = createHash("md5");
hash.update("Your data here");
const hashInHex = hash.toString(); // returns 5fe084ee423ff7e0c7709e9437cee89d
import { createHash } from "https://deno.land/std/hash/mod.ts";

const hash = createHash("md5");
hash.update("Your data here");
const hashInBase64 = hash.toString("base64"); // returns X+CE7kI/9+DHcJ6UN87onQ==

Supported algorithms

Following algorithms are supported.

  • md2
  • md4
  • md5
  • ripemd160
  • ripemd320
  • sha1
  • sha224
  • sha256
  • sha384
  • sha512
  • sha3-224
  • sha3-256
  • sha3-384
  • sha3-512
  • keccak224
  • keccak256
  • keccak384
  • keccak512