diff options
author | skdltmxn <supershop@naver.com> | 2020-06-05 04:14:36 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-04 15:14:36 -0400 |
commit | e05ed537130eff116b48af02d1eb6ce65953e7d8 (patch) | |
tree | 0bd1ca235ad9ed89ca602c384ab39301346afe24 /std/hash/_sha3/sha3.ts | |
parent | 430beebc46be1dc87a993c2f7442c5c22076f458 (diff) |
feat(std/hash): add sha3 (#5558)
Diffstat (limited to 'std/hash/_sha3/sha3.ts')
-rw-r--r-- | std/hash/_sha3/sha3.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/std/hash/_sha3/sha3.ts b/std/hash/_sha3/sha3.ts new file mode 100644 index 000000000..393889210 --- /dev/null +++ b/std/hash/_sha3/sha3.ts @@ -0,0 +1,54 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +import { Sponge } from "./sponge.ts"; +import { keccakf } from "./keccakf.ts"; + +/* eslint-disable @typescript-eslint/camelcase, @typescript-eslint/class-name-casing */ + +/** Sha3-224 hash */ +export class Sha3_224 extends Sponge { + constructor() { + super({ + bitsize: 224, + rate: 144, + dsbyte: 6, + permutator: keccakf, + }); + } +} + +/** Sha3-256 hash */ +export class Sha3_256 extends Sponge { + constructor() { + super({ + bitsize: 256, + rate: 136, + dsbyte: 6, + permutator: keccakf, + }); + } +} + +/** Sha3-384 hash */ +export class Sha3_384 extends Sponge { + constructor() { + super({ + bitsize: 384, + rate: 104, + dsbyte: 6, + permutator: keccakf, + }); + } +} + +/** Sha3-512 hash */ +export class Sha3_512 extends Sponge { + constructor() { + super({ + bitsize: 512, + rate: 72, + dsbyte: 6, + permutator: keccakf, + }); + } +} |