{"version":3,"file":"sha384.mjs","names":["SHA384: HashFn","HmacSHA384: HMACHashFn"],"sources":["../src/sha384.ts"],"sourcesContent":["import {\n  WordArray,\n  HashFn,\n  HMACHashFn,\n} from './core';\nimport {\n  X64Word,\n  X64WordArray,\n} from './x64-core';\nimport { SHA512Algo } from './sha512';\n\n/**\n * SHA-384 hash algorithm.\n */\nexport class SHA384Algo extends SHA512Algo {\n  _doReset(): void {\n    this._hash = new X64WordArray([\n      new X64Word(0xcbbb9d5d, 0xc1059ed8),\n      new X64Word(0x629a292a, 0x367cd507),\n      new X64Word(0x9159015a, 0x3070dd17),\n      new X64Word(0x152fecd8, 0xf70e5939),\n      new X64Word(0x67332667, 0xffc00b31),\n      new X64Word(0x8eb44a87, 0x68581511),\n      new X64Word(0xdb0c2e0d, 0x64f98fa7),\n      new X64Word(0x47b5481d, 0xbefa4fa4),\n    ]);\n  }\n\n  _doFinalize(): WordArray {\n    const hash = super._doFinalize.call(this);\n\n    hash.sigBytes -= 16;\n\n    return hash;\n  }\n\n  clone(): this {\n    const clone = super.clone.call(this);\n    return clone;\n  }\n}\n\n/**\n * Shortcut function to the hasher's object interface.\n *\n * @param message - The message to hash.\n * @returns The hash.\n *\n * @example\n * ```js\n * const hash = SHA384('message');\n * const hash = SHA384(wordArray);\n * ```\n */\nexport const SHA384: HashFn = SHA512Algo._createHelper(SHA384Algo);\n\n/**\n * Shortcut function to the HMAC's object interface.\n *\n * @param message - The message to hash.\n * @param key - The secret key.\n * @returns The HMAC.\n *\n * @example\n * ```js\n * const hmac = HmacSHA384(message, key);\n * ```\n */\nexport const HmacSHA384: HMACHashFn = SHA512Algo._createHmacHelper(SHA384Algo);"],"mappings":";;;;;;;AAcA,IAAa,aAAb,cAAgC,WAAW;CACzC,WAAiB;AACf,OAAK,QAAQ,IAAI,aAAa;GAC5B,IAAI,QAAQ,YAAY;GACxB,IAAI,QAAQ,YAAY;GACxB,IAAI,QAAQ,YAAY;GACxB,IAAI,QAAQ,WAAY;GACxB,IAAI,QAAQ,YAAY;GACxB,IAAI,QAAQ,YAAY;GACxB,IAAI,QAAQ,YAAY;GACxB,IAAI,QAAQ,YAAY;GACzB;CACF;CAED,cAAyB;EACvB,MAAM,OAAO,MAAM,YAAY,KAAK;AAEpC,OAAK,YAAY;AAEjB,SAAO;CACR;CAED,QAAc;EACZ,MAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,SAAO;CACR;AACF;;;;;;;;;;;;;AAcD,MAAaA,SAAiB,WAAW,cAAc;;;;;;;;;;;;;AAcvD,MAAaC,aAAyB,WAAW,kBAAkB"}