@zudojs/crypto 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +35 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/compare/compare.helper.d.ts +8 -0
- package/dist/compare/compare.helper.d.ts.map +1 -0
- package/dist/compare/compare.helper.js +17 -0
- package/dist/compare/compare.helper.js.map +1 -0
- package/dist/compare/index.d.ts +7 -0
- package/dist/compare/index.d.ts.map +1 -0
- package/dist/compare/index.js +7 -0
- package/dist/compare/index.js.map +1 -0
- package/dist/cryptoAlgorithm/index.d.ts +8 -0
- package/dist/cryptoAlgorithm/index.d.ts.map +1 -0
- package/dist/cryptoAlgorithm/index.js +8 -0
- package/dist/cryptoAlgorithm/index.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.core.d.ts +25 -0
- package/dist/cryptoCipher/cryptoCipher.core.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.core.js +35 -0
- package/dist/cryptoCipher/cryptoCipher.core.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.d.ts +16 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.js +50 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.string.d.ts +10 -0
- package/dist/cryptoCipher/cryptoCipher.string.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.string.js +15 -0
- package/dist/cryptoCipher/cryptoCipher.string.js.map +1 -0
- package/dist/cryptoCipher/index.d.ts +9 -0
- package/dist/cryptoCipher/index.d.ts.map +1 -0
- package/dist/cryptoCipher/index.js +9 -0
- package/dist/cryptoCipher/index.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.config.d.ts +36 -0
- package/dist/cryptoConstants/cryptoConstants.config.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.config.js +29 -0
- package/dist/cryptoConstants/cryptoConstants.config.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.guard.d.ts +28 -0
- package/dist/cryptoConstants/cryptoConstants.guard.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.guard.js +45 -0
- package/dist/cryptoConstants/cryptoConstants.guard.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.security.d.ts +41 -0
- package/dist/cryptoConstants/cryptoConstants.security.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.security.js +42 -0
- package/dist/cryptoConstants/cryptoConstants.security.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.token.d.ts +47 -0
- package/dist/cryptoConstants/cryptoConstants.token.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.token.js +47 -0
- package/dist/cryptoConstants/cryptoConstants.token.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.type.d.ts +95 -0
- package/dist/cryptoConstants/cryptoConstants.type.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.type.js +116 -0
- package/dist/cryptoConstants/cryptoConstants.type.js.map +1 -0
- package/dist/cryptoConstants/index.d.ts +11 -0
- package/dist/cryptoConstants/index.d.ts.map +1 -0
- package/dist/cryptoConstants/index.js +11 -0
- package/dist/cryptoConstants/index.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts +9 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js +19 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts +8 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.js +16 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.d.ts +21 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.js +63 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js +35 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js +40 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js +31 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js.map +1 -0
- package/dist/cryptoEncoding/encoding/index.d.ts +9 -0
- package/dist/cryptoEncoding/encoding/index.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/index.js +9 -0
- package/dist/cryptoEncoding/encoding/index.js.map +1 -0
- package/dist/cryptoEncoding/index.d.ts +12 -0
- package/dist/cryptoEncoding/index.d.ts.map +1 -0
- package/dist/cryptoEncoding/index.js +12 -0
- package/dist/cryptoEncoding/index.js.map +1 -0
- package/dist/cryptoErrors/index.d.ts +11 -0
- package/dist/cryptoErrors/index.d.ts.map +1 -0
- package/dist/cryptoErrors/index.js +10 -0
- package/dist/cryptoErrors/index.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.core.d.ts +60 -0
- package/dist/cryptoFactory/cryptoFactory.core.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.core.js +105 -0
- package/dist/cryptoFactory/cryptoFactory.core.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.d.ts +5 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.js +8 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.options.d.ts +2 -0
- package/dist/cryptoFactory/cryptoFactory.options.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.options.js +6 -0
- package/dist/cryptoFactory/cryptoFactory.options.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.password.d.ts +5 -0
- package/dist/cryptoFactory/cryptoFactory.password.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.password.js +8 -0
- package/dist/cryptoFactory/cryptoFactory.password.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.token.d.ts +10 -0
- package/dist/cryptoFactory/cryptoFactory.token.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.token.js +30 -0
- package/dist/cryptoFactory/cryptoFactory.token.js.map +1 -0
- package/dist/cryptoFactory/index.d.ts +7 -0
- package/dist/cryptoFactory/index.d.ts.map +1 -0
- package/dist/cryptoFactory/index.js +7 -0
- package/dist/cryptoFactory/index.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.codec.d.ts +10 -0
- package/dist/cryptoHash/cryptoHash.codec.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.codec.js +39 -0
- package/dist/cryptoHash/cryptoHash.codec.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.compare.d.ts +5 -0
- package/dist/cryptoHash/cryptoHash.compare.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.compare.js +14 -0
- package/dist/cryptoHash/cryptoHash.compare.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.convenience.d.ts +26 -0
- package/dist/cryptoHash/cryptoHash.convenience.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.convenience.js +56 -0
- package/dist/cryptoHash/cryptoHash.convenience.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.core.d.ts +19 -0
- package/dist/cryptoHash/cryptoHash.core.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.core.js +17 -0
- package/dist/cryptoHash/cryptoHash.core.js.map +1 -0
- package/dist/cryptoHash/cryptoHmac.core.d.ts +19 -0
- package/dist/cryptoHash/cryptoHmac.core.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHmac.core.js +29 -0
- package/dist/cryptoHash/cryptoHmac.core.js.map +1 -0
- package/dist/cryptoHash/index.d.ts +11 -0
- package/dist/cryptoHash/index.d.ts.map +1 -0
- package/dist/cryptoHash/index.js +11 -0
- package/dist/cryptoHash/index.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.factory.d.ts +21 -0
- package/dist/cryptoKey/cryptoKey.factory.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.factory.js +72 -0
- package/dist/cryptoKey/cryptoKey.factory.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.type.d.ts +44 -0
- package/dist/cryptoKey/cryptoKey.type.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.type.js +32 -0
- package/dist/cryptoKey/cryptoKey.type.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.utils.d.ts +13 -0
- package/dist/cryptoKey/cryptoKey.utils.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.utils.js +18 -0
- package/dist/cryptoKey/cryptoKey.utils.js.map +1 -0
- package/dist/cryptoKey/index.d.ts +9 -0
- package/dist/cryptoKey/index.d.ts.map +1 -0
- package/dist/cryptoKey/index.js +9 -0
- package/dist/cryptoKey/index.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts +16 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js +76 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts +5 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js +12 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts +23 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js +2 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts +9 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js +35 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js.map +1 -0
- package/dist/cryptoKeyDerivation/index.d.ts +10 -0
- package/dist/cryptoKeyDerivation/index.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/index.js +10 -0
- package/dist/cryptoKeyDerivation/index.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.codec.d.ts +14 -0
- package/dist/cryptoPassword/cryptoPassword.codec.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.codec.js +87 -0
- package/dist/cryptoPassword/cryptoPassword.codec.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.core.d.ts +10 -0
- package/dist/cryptoPassword/cryptoPassword.core.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.core.js +59 -0
- package/dist/cryptoPassword/cryptoPassword.core.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.helper.d.ts +14 -0
- package/dist/cryptoPassword/cryptoPassword.helper.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.helper.js +33 -0
- package/dist/cryptoPassword/cryptoPassword.helper.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.type.d.ts +37 -0
- package/dist/cryptoPassword/cryptoPassword.type.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.type.js +2 -0
- package/dist/cryptoPassword/cryptoPassword.type.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.validate.d.ts +23 -0
- package/dist/cryptoPassword/cryptoPassword.validate.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.validate.js +60 -0
- package/dist/cryptoPassword/cryptoPassword.validate.js.map +1 -0
- package/dist/cryptoPassword/index.d.ts +11 -0
- package/dist/cryptoPassword/index.d.ts.map +1 -0
- package/dist/cryptoPassword/index.js +11 -0
- package/dist/cryptoPassword/index.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.core.d.ts +10 -0
- package/dist/cryptoProvider/cryptoProvider.core.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.core.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.core.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.interface.d.ts +91 -0
- package/dist/cryptoProvider/cryptoProvider.interface.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.interface.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.interface.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.type.d.ts +41 -0
- package/dist/cryptoProvider/cryptoProvider.type.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.type.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.type.js.map +1 -0
- package/dist/cryptoProvider/index.d.ts +12 -0
- package/dist/cryptoProvider/index.d.ts.map +1 -0
- package/dist/cryptoProvider/index.js +2 -0
- package/dist/cryptoProvider/index.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.d.ts +28 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoHash.type.d.ts +14 -0
- package/dist/cryptoProvider/types/cryptoHash.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoHash.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoHash.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts +22 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.d.ts +9 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.d.ts +19 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.js.map +1 -0
- package/dist/cryptoProvider/types/index.d.ts +12 -0
- package/dist/cryptoProvider/types/index.d.ts.map +1 -0
- package/dist/cryptoProvider/types/index.js +8 -0
- package/dist/cryptoProvider/types/index.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.choice.d.ts +14 -0
- package/dist/cryptoRandom/cryptoRandom.choice.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.choice.js +30 -0
- package/dist/cryptoRandom/cryptoRandom.choice.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.core.d.ts +21 -0
- package/dist/cryptoRandom/cryptoRandom.core.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.core.js +31 -0
- package/dist/cryptoRandom/cryptoRandom.core.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.string.d.ts +35 -0
- package/dist/cryptoRandom/cryptoRandom.string.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.string.js +74 -0
- package/dist/cryptoRandom/cryptoRandom.string.js.map +1 -0
- package/dist/cryptoRandom/index.d.ts +9 -0
- package/dist/cryptoRandom/index.d.ts.map +1 -0
- package/dist/cryptoRandom/index.js +9 -0
- package/dist/cryptoRandom/index.js.map +1 -0
- package/dist/cryptoService/cryptoService.core.d.ts +46 -0
- package/dist/cryptoService/cryptoService.core.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.core.js +101 -0
- package/dist/cryptoService/cryptoService.core.js.map +1 -0
- package/dist/cryptoService/cryptoService.derivation.d.ts +6 -0
- package/dist/cryptoService/cryptoService.derivation.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.derivation.js +12 -0
- package/dist/cryptoService/cryptoService.derivation.js.map +1 -0
- package/dist/cryptoService/cryptoService.encoding.d.ts +5 -0
- package/dist/cryptoService/cryptoService.encoding.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.encoding.js +19 -0
- package/dist/cryptoService/cryptoService.encoding.js.map +1 -0
- package/dist/cryptoService/index.d.ts +11 -0
- package/dist/cryptoService/index.d.ts.map +1 -0
- package/dist/cryptoService/index.js +11 -0
- package/dist/cryptoService/index.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.cipher.d.ts +5 -0
- package/dist/cryptoService/operations/cryptoService.cipher.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.cipher.js +19 -0
- package/dist/cryptoService/operations/cryptoService.cipher.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.hash.d.ts +3 -0
- package/dist/cryptoService/operations/cryptoService.hash.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.hash.js +16 -0
- package/dist/cryptoService/operations/cryptoService.hash.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.password.d.ts +5 -0
- package/dist/cryptoService/operations/cryptoService.password.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.password.js +19 -0
- package/dist/cryptoService/operations/cryptoService.password.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.token.d.ts +7 -0
- package/dist/cryptoService/operations/cryptoService.token.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.token.js +36 -0
- package/dist/cryptoService/operations/cryptoService.token.js.map +1 -0
- package/dist/cryptoService/operations/index.d.ts +11 -0
- package/dist/cryptoService/operations/index.d.ts.map +1 -0
- package/dist/cryptoService/operations/index.js +11 -0
- package/dist/cryptoService/operations/index.js.map +1 -0
- package/dist/cryptoSignature/cryptoSignature.core.d.ts +25 -0
- package/dist/cryptoSignature/cryptoSignature.core.d.ts.map +1 -0
- package/dist/cryptoSignature/cryptoSignature.core.js +36 -0
- package/dist/cryptoSignature/cryptoSignature.core.js.map +1 -0
- package/dist/cryptoSignature/index.d.ts +7 -0
- package/dist/cryptoSignature/index.d.ts.map +1 -0
- package/dist/cryptoSignature/index.js +7 -0
- package/dist/cryptoSignature/index.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.core.d.ts +55 -0
- package/dist/cryptoToken/cryptoToken.core.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.core.js +90 -0
- package/dist/cryptoToken/cryptoToken.core.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.hash.d.ts +24 -0
- package/dist/cryptoToken/cryptoToken.hash.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.hash.js +82 -0
- package/dist/cryptoToken/cryptoToken.hash.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.utils.d.ts +13 -0
- package/dist/cryptoToken/cryptoToken.utils.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.utils.js +30 -0
- package/dist/cryptoToken/cryptoToken.utils.js.map +1 -0
- package/dist/cryptoToken/index.d.ts +9 -0
- package/dist/cryptoToken/index.d.ts.map +1 -0
- package/dist/cryptoToken/index.js +9 -0
- package/dist/cryptoToken/index.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.compare.d.ts +11 -0
- package/dist/cryptoUtils/cryptoUtils.compare.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.compare.js +27 -0
- package/dist/cryptoUtils/cryptoUtils.compare.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.d.ts +25 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.js +50 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.number.d.ts +9 -0
- package/dist/cryptoUtils/cryptoUtils.number.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.number.js +35 -0
- package/dist/cryptoUtils/cryptoUtils.number.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.text.d.ts +13 -0
- package/dist/cryptoUtils/cryptoUtils.text.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.text.js +23 -0
- package/dist/cryptoUtils/cryptoUtils.text.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.validation.d.ts +17 -0
- package/dist/cryptoUtils/cryptoUtils.validation.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.validation.js +29 -0
- package/dist/cryptoUtils/cryptoUtils.validation.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.js +28 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js +37 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.js +25 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.js.map +1 -0
- package/dist/cryptoUtils/encoding/index.d.ts +10 -0
- package/dist/cryptoUtils/encoding/index.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/index.js +10 -0
- package/dist/cryptoUtils/encoding/index.js.map +1 -0
- package/dist/cryptoUtils/index.d.ts +13 -0
- package/dist/cryptoUtils/index.d.ts.map +1 -0
- package/dist/cryptoUtils/index.js +13 -0
- package/dist/cryptoUtils/index.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/node/index.d.ts +8 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +8 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/index.d.ts +14 -0
- package/dist/node/nodeCryptoProvider/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/index.js +14 -0
- package/dist/node/nodeCryptoProvider/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts +42 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js +56 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts +3 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js +5 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts +8 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js +55 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/index.d.ts +8 -0
- package/dist/node/nodeCryptoProvider/operations/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/index.js +8 -0
- package/dist/node/nodeCryptoProvider/operations/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts +3 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js +45 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts +12 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js +94 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/index.d.ts +10 -0
- package/dist/node/nodeCryptoProvider/primitives/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/index.js +10 -0
- package/dist/node/nodeCryptoProvider/primitives/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts +13 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js +35 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts +4 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js +16 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts +4 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js +39 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts +13 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js +29 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js.map +1 -0
- package/dist/node/signing/index.d.ts +9 -0
- package/dist/node/signing/index.d.ts.map +1 -0
- package/dist/node/signing/index.js +9 -0
- package/dist/node/signing/index.js.map +1 -0
- package/dist/node/signing/signing.conversion.d.ts +9 -0
- package/dist/node/signing/signing.conversion.d.ts.map +1 -0
- package/dist/node/signing/signing.conversion.js +51 -0
- package/dist/node/signing/signing.conversion.js.map +1 -0
- package/dist/node/signing/signing.core.d.ts +21 -0
- package/dist/node/signing/signing.core.d.ts.map +1 -0
- package/dist/node/signing/signing.core.js +45 -0
- package/dist/node/signing/signing.core.js.map +1 -0
- package/dist/node/signing/signing.utils.d.ts +15 -0
- package/dist/node/signing/signing.utils.d.ts.map +1 -0
- package/dist/node/signing/signing.utils.js +41 -0
- package/dist/node/signing/signing.utils.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/crypto/cryptoEncoding
|
|
3
|
+
*
|
|
4
|
+
* Encoding and decoding utilities (hex, base64, UTF-8).
|
|
5
|
+
*/
|
|
6
|
+
export * from "./cryptoEncoding.core.js";
|
|
7
|
+
export * from "./encoding/cryptoEncoding.hex.js";
|
|
8
|
+
export * from "./encoding/cryptoEncoding.base64.js";
|
|
9
|
+
export * from "./encoding/cryptoEncoding.base64url.js";
|
|
10
|
+
export * from "./cryptoEncoding.compare.js";
|
|
11
|
+
export * from "./cryptoEncoding.arrayBuffer.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cryptoEncoding/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/crypto/cryptoEncoding
|
|
3
|
+
*
|
|
4
|
+
* Encoding and decoding utilities (hex, base64, UTF-8).
|
|
5
|
+
*/
|
|
6
|
+
export * from "./cryptoEncoding.core.js";
|
|
7
|
+
export * from "./encoding/cryptoEncoding.hex.js";
|
|
8
|
+
export * from "./encoding/cryptoEncoding.base64.js";
|
|
9
|
+
export * from "./encoding/cryptoEncoding.base64url.js";
|
|
10
|
+
export * from "./cryptoEncoding.compare.js";
|
|
11
|
+
export * from "./cryptoEncoding.arrayBuffer.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cryptoEncoding/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/crypto/cryptoErrors
|
|
3
|
+
*
|
|
4
|
+
* Cryptographic operation error types.
|
|
5
|
+
*
|
|
6
|
+
* Re-exports from @zudojs/errors to maintain a single
|
|
7
|
+
* error hierarchy across the framework.
|
|
8
|
+
*/
|
|
9
|
+
export { CryptoError, CryptoOperation, createCryptoError, isCryptoError, cryptoHashError, cryptoCipherError, cryptoSignatureError, cryptoKeyDerivationError, cryptoKeyError, } from "@zudojs/errors";
|
|
10
|
+
export type { CryptoErrorOptions } from "@zudojs/errors";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cryptoErrors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/crypto/cryptoErrors
|
|
3
|
+
*
|
|
4
|
+
* Cryptographic operation error types.
|
|
5
|
+
*
|
|
6
|
+
* Re-exports from @zudojs/errors to maintain a single
|
|
7
|
+
* error hierarchy across the framework.
|
|
8
|
+
*/
|
|
9
|
+
export { CryptoError, CryptoOperation, createCryptoError, isCryptoError, cryptoHashError, cryptoCipherError, cryptoSignatureError, cryptoKeyDerivationError, cryptoKeyError, } from "@zudojs/errors";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cryptoErrors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,GACf,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CryptoService } from "../cryptoService/cryptoService.core.js";
|
|
2
|
+
import { CryptoAlgorithm } from "../cryptoConstants/cryptoConstants.type.js";
|
|
3
|
+
import type { CryptoKey } from "../cryptoKey/cryptoKey.type.js";
|
|
4
|
+
import type { PasswordHashOptions } from "./cryptoFactory.password.js";
|
|
5
|
+
import type { CryptoEncoding } from "./cryptoFactory.encoding.js";
|
|
6
|
+
/**
|
|
7
|
+
* Configuration used to create a CryptoFactory.
|
|
8
|
+
*/
|
|
9
|
+
export interface CryptoFactoryOptions {
|
|
10
|
+
readonly defaultKeyAlgorithm?: CryptoAlgorithm;
|
|
11
|
+
readonly password?: PasswordHashOptions;
|
|
12
|
+
readonly encoding?: CryptoEncoding;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Central factory for constructing and accessing crypto services.
|
|
16
|
+
*/
|
|
17
|
+
export declare class CryptoFactory {
|
|
18
|
+
private readonly options;
|
|
19
|
+
private readonly service;
|
|
20
|
+
constructor(options?: CryptoFactoryOptions);
|
|
21
|
+
/** Returns the configured crypto service. */
|
|
22
|
+
getService(): CryptoService;
|
|
23
|
+
/** Generates a key using the configured default algorithm. */
|
|
24
|
+
createKey(algorithm?: CryptoAlgorithm): Promise<CryptoKey>;
|
|
25
|
+
/** Generates a secure opaque token. */
|
|
26
|
+
createToken(bytes?: number, prefix?: string): Promise<string>;
|
|
27
|
+
/** Generates an API key. */
|
|
28
|
+
createApiKey(): Promise<string>;
|
|
29
|
+
/** Generates a session token. */
|
|
30
|
+
createSessionToken(): Promise<string>;
|
|
31
|
+
/** Generates a refresh token. */
|
|
32
|
+
createRefreshToken(): Promise<string>;
|
|
33
|
+
/** Generates an email or account verification token. */
|
|
34
|
+
createVerificationToken(): Promise<string>;
|
|
35
|
+
/** Generates a password reset token. */
|
|
36
|
+
createPasswordResetToken(): Promise<string>;
|
|
37
|
+
/** Generates a CSRF token. */
|
|
38
|
+
createCsrfToken(): Promise<string>;
|
|
39
|
+
/** Generates a numeric one-time password. */
|
|
40
|
+
createOtp(digits?: number): Promise<string>;
|
|
41
|
+
/** Hashes a password using the configured password options. */
|
|
42
|
+
createPasswordHash(password: string, options?: PasswordHashOptions): Promise<import("../index.js").PasswordHashResult>;
|
|
43
|
+
/** Verifies a password against a stored hash. */
|
|
44
|
+
verifyPassword(password: string, encodedHash: string): Promise<boolean>;
|
|
45
|
+
/** Encodes bytes using the configured default encoding. */
|
|
46
|
+
encode(value: Uint8Array, encoding?: CryptoEncoding): string;
|
|
47
|
+
/** Decodes binary data using the configured default encoding. */
|
|
48
|
+
decode(value: string, encoding?: CryptoEncoding): Uint8Array;
|
|
49
|
+
/** Returns the factory configuration. */
|
|
50
|
+
getOptions(): Readonly<CryptoFactoryOptions>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates a configured CryptoFactory.
|
|
54
|
+
*/
|
|
55
|
+
export declare function createCryptoFactory(options?: CryptoFactoryOptions): CryptoFactory;
|
|
56
|
+
/**
|
|
57
|
+
* Default application crypto factory.
|
|
58
|
+
*/
|
|
59
|
+
export declare const cryptoFactory: CryptoFactory;
|
|
60
|
+
//# sourceMappingURL=cryptoFactory.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.core.d.ts","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEd,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAiB7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,eAAe,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGyC;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IAExC,YAAY,OAAO,GAAE,oBAAyB,EAQ7C;IAED,6CAA6C;IAC7C,UAAU,IAAI,aAAa,CAE1B;IAED,8DAA8D;IACxD,SAAS,CACb,SAAS,kBAAmC,GAC3C,OAAO,CAAC,SAAS,CAAC,CASpB;IAED,uCAAuC;IACjC,WAAW,CAAC,KAAK,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO9D;IAED,4BAA4B;IACtB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAEpC;IAED,iCAAiC;IAC3B,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1C;IAED,iCAAiC;IAC3B,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1C;IAED,wDAAwD;IAClD,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE/C;IAED,wCAAwC;IAClC,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhD;IAED,8BAA8B;IACxB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAEvC;IAED,6CAA6C;IACvC,SAAS,CAAC,MAAM,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3C;IAED,+DAA+D;IACzD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,qDAKvE;IAED,iDAAiD;IAC3C,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB;IAED,2DAA2D;IAC3D,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,iBAAwB,GAAG,MAAM,CAElE;IAED,iEAAiE;IACjE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,iBAAwB,GAAG,UAAU,CAElE;IAED,yCAAyC;IACzC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAO3C;CACF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAEf;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,eAAwB,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { CryptoService, createCryptoService, } from "../cryptoService/cryptoService.core.js";
|
|
2
|
+
import { CryptoAlgorithm } from "../cryptoConstants/cryptoConstants.type.js";
|
|
3
|
+
import { generateCryptoKey } from "../cryptoKey/cryptoKey.factory.js";
|
|
4
|
+
import { factoryCreateToken, factoryCreateApiKey, factoryCreateSessionToken, factoryCreateRefreshToken, factoryCreateVerificationToken, factoryCreatePasswordResetToken, factoryCreateCsrfToken, factoryCreateOtp, } from "./cryptoFactory.token.js";
|
|
5
|
+
import { factoryCreatePasswordHash, factoryVerifyPassword, } from "./cryptoFactory.password.js";
|
|
6
|
+
import { factoryEncode, factoryDecode } from "./cryptoFactory.encoding.js";
|
|
7
|
+
/**
|
|
8
|
+
* Central factory for constructing and accessing crypto services.
|
|
9
|
+
*/
|
|
10
|
+
export class CryptoFactory {
|
|
11
|
+
options;
|
|
12
|
+
service;
|
|
13
|
+
constructor(options = {}) {
|
|
14
|
+
this.options = Object.freeze({
|
|
15
|
+
...options,
|
|
16
|
+
defaultKeyAlgorithm: options.defaultKeyAlgorithm ?? CryptoAlgorithm.AES_256_GCM,
|
|
17
|
+
encoding: options.encoding ?? "base64url",
|
|
18
|
+
});
|
|
19
|
+
this.service = createCryptoService();
|
|
20
|
+
}
|
|
21
|
+
/** Returns the configured crypto service. */
|
|
22
|
+
getService() {
|
|
23
|
+
return this.service;
|
|
24
|
+
}
|
|
25
|
+
/** Generates a key using the configured default algorithm. */
|
|
26
|
+
async createKey(algorithm = this.options.defaultKeyAlgorithm) {
|
|
27
|
+
const length = algorithm.includes("256")
|
|
28
|
+
? 32
|
|
29
|
+
: algorithm.includes("384")
|
|
30
|
+
? 48
|
|
31
|
+
: algorithm.includes("512")
|
|
32
|
+
? 64
|
|
33
|
+
: 32;
|
|
34
|
+
return generateCryptoKey(length, { algorithm, extractable: true });
|
|
35
|
+
}
|
|
36
|
+
/** Generates a secure opaque token. */
|
|
37
|
+
async createToken(bytes = 32, prefix) {
|
|
38
|
+
return factoryCreateToken(bytes, prefix, this.options
|
|
39
|
+
.encoding);
|
|
40
|
+
}
|
|
41
|
+
/** Generates an API key. */
|
|
42
|
+
async createApiKey() {
|
|
43
|
+
return factoryCreateApiKey();
|
|
44
|
+
}
|
|
45
|
+
/** Generates a session token. */
|
|
46
|
+
async createSessionToken() {
|
|
47
|
+
return factoryCreateSessionToken();
|
|
48
|
+
}
|
|
49
|
+
/** Generates a refresh token. */
|
|
50
|
+
async createRefreshToken() {
|
|
51
|
+
return factoryCreateRefreshToken();
|
|
52
|
+
}
|
|
53
|
+
/** Generates an email or account verification token. */
|
|
54
|
+
async createVerificationToken() {
|
|
55
|
+
return factoryCreateVerificationToken();
|
|
56
|
+
}
|
|
57
|
+
/** Generates a password reset token. */
|
|
58
|
+
async createPasswordResetToken() {
|
|
59
|
+
return factoryCreatePasswordResetToken();
|
|
60
|
+
}
|
|
61
|
+
/** Generates a CSRF token. */
|
|
62
|
+
async createCsrfToken() {
|
|
63
|
+
return factoryCreateCsrfToken();
|
|
64
|
+
}
|
|
65
|
+
/** Generates a numeric one-time password. */
|
|
66
|
+
async createOtp(digits = 6) {
|
|
67
|
+
return factoryCreateOtp(digits);
|
|
68
|
+
}
|
|
69
|
+
/** Hashes a password using the configured password options. */
|
|
70
|
+
async createPasswordHash(password, options) {
|
|
71
|
+
return factoryCreatePasswordHash(password, options ?? this.options.password);
|
|
72
|
+
}
|
|
73
|
+
/** Verifies a password against a stored hash. */
|
|
74
|
+
async verifyPassword(password, encodedHash) {
|
|
75
|
+
return factoryVerifyPassword(password, encodedHash);
|
|
76
|
+
}
|
|
77
|
+
/** Encodes bytes using the configured default encoding. */
|
|
78
|
+
encode(value, encoding = this.options.encoding) {
|
|
79
|
+
return factoryEncode(value, encoding);
|
|
80
|
+
}
|
|
81
|
+
/** Decodes binary data using the configured default encoding. */
|
|
82
|
+
decode(value, encoding = this.options.encoding) {
|
|
83
|
+
return factoryDecode(value, encoding);
|
|
84
|
+
}
|
|
85
|
+
/** Returns the factory configuration. */
|
|
86
|
+
getOptions() {
|
|
87
|
+
return Object.freeze({
|
|
88
|
+
...this.options,
|
|
89
|
+
password: this.options.password
|
|
90
|
+
? Object.freeze({ ...this.options.password })
|
|
91
|
+
: undefined,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Creates a configured CryptoFactory.
|
|
97
|
+
*/
|
|
98
|
+
export function createCryptoFactory(options = {}) {
|
|
99
|
+
return new CryptoFactory(options);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Default application crypto factory.
|
|
103
|
+
*/
|
|
104
|
+
export const cryptoFactory = createCryptoFactory();
|
|
105
|
+
//# sourceMappingURL=cryptoFactory.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.core.js","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CryptoEncoding } from "../cryptoEncoding/cryptoEncoding.core.js";
|
|
2
|
+
export type { CryptoEncoding };
|
|
3
|
+
export declare function factoryEncode(value: Uint8Array, encoding?: CryptoEncoding): string;
|
|
4
|
+
export declare function factoryDecode(value: string, encoding?: CryptoEncoding): Uint8Array;
|
|
5
|
+
//# sourceMappingURL=cryptoFactory.encoding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.encoding.d.ts","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAI/E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,cAA4B,GACrC,MAAM,CAER;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,cAA4B,GACrC,UAAU,CAEZ"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { encode, decode } from "../cryptoEncoding/cryptoEncoding.core.js";
|
|
2
|
+
export function factoryEncode(value, encoding = "base64url") {
|
|
3
|
+
return encode(value, encoding);
|
|
4
|
+
}
|
|
5
|
+
export function factoryDecode(value, encoding = "base64url") {
|
|
6
|
+
return decode(value, encoding);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=cryptoFactory.encoding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.encoding.js","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAI1E,MAAM,UAAU,aAAa,CAC3B,KAAiB,EACjB,QAAQ,GAAmB,WAAW;IAEtC,OAAO,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,QAAQ,GAAmB,WAAW;IAEtC,OAAO,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.options.d.ts","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.options.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAI3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.options.js","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.options.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAmB,OAAU;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PasswordHashOptions } from "../cryptoPassword/cryptoPassword.type.js";
|
|
2
|
+
export type { PasswordHashOptions };
|
|
3
|
+
export declare function factoryCreatePasswordHash(password: string, options?: PasswordHashOptions): Promise<import("../cryptoPassword/cryptoPassword.type.js").PasswordHashResult>;
|
|
4
|
+
export declare function factoryVerifyPassword(password: string, encodedHash: string): Promise<boolean>;
|
|
5
|
+
//# sourceMappingURL=cryptoFactory.password.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.password.d.ts","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAOpF,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,kFAG9B;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { hashPassword, verifyPassword, } from "../cryptoPassword/cryptoPassword.core.js";
|
|
2
|
+
export async function factoryCreatePasswordHash(password, options) {
|
|
3
|
+
return hashPassword(password, options);
|
|
4
|
+
}
|
|
5
|
+
export async function factoryVerifyPassword(password, encodedHash) {
|
|
6
|
+
return verifyPassword(password, encodedHash);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=cryptoFactory.password.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.password.js","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.password.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,0CAA0C,CAAC;AAIlD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,OAA6B;IAE7B,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,WAAmB;IAEnB,OAAO,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TokenEncoding } from "../cryptoToken/cryptoToken.core.js";
|
|
2
|
+
export declare function factoryCreateToken(bytes?: number, prefix?: string, encoding?: TokenEncoding): Promise<string>;
|
|
3
|
+
export declare function factoryCreateApiKey(): Promise<string>;
|
|
4
|
+
export declare function factoryCreateSessionToken(): Promise<string>;
|
|
5
|
+
export declare function factoryCreateRefreshToken(): Promise<string>;
|
|
6
|
+
export declare function factoryCreateVerificationToken(): Promise<string>;
|
|
7
|
+
export declare function factoryCreatePasswordResetToken(): Promise<string>;
|
|
8
|
+
export declare function factoryCreateCsrfToken(): Promise<string>;
|
|
9
|
+
export declare function factoryCreateOtp(digits?: number): Promise<string>;
|
|
10
|
+
//# sourceMappingURL=cryptoFactory.token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.token.d.ts","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAaxE,wBAAsB,kBAAkB,CACtC,KAAK,SAAK,EACV,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,GAAE,aAA2B,GACpC,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE3D;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjE;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjE;AAED,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,MAAM,CAAC,CAEtE;AAED,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,MAAM,CAAC,CAEvE;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE9D;AAED,wBAAsB,gBAAgB,CAAC,MAAM,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAElE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { generateToken, generateApiKey, generateSessionToken, generateRefreshToken, generateVerificationToken, generatePasswordResetToken, generateCsrfToken, generateOtp, } from "../cryptoToken/cryptoToken.core.js";
|
|
2
|
+
export async function factoryCreateToken(bytes = 32, prefix, encoding = "base64url") {
|
|
3
|
+
return generateToken({
|
|
4
|
+
bytes,
|
|
5
|
+
encoding,
|
|
6
|
+
prefix,
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
export async function factoryCreateApiKey() {
|
|
10
|
+
return generateApiKey();
|
|
11
|
+
}
|
|
12
|
+
export async function factoryCreateSessionToken() {
|
|
13
|
+
return generateSessionToken();
|
|
14
|
+
}
|
|
15
|
+
export async function factoryCreateRefreshToken() {
|
|
16
|
+
return generateRefreshToken();
|
|
17
|
+
}
|
|
18
|
+
export async function factoryCreateVerificationToken() {
|
|
19
|
+
return generateVerificationToken();
|
|
20
|
+
}
|
|
21
|
+
export async function factoryCreatePasswordResetToken() {
|
|
22
|
+
return generatePasswordResetToken();
|
|
23
|
+
}
|
|
24
|
+
export async function factoryCreateCsrfToken() {
|
|
25
|
+
return generateCsrfToken();
|
|
26
|
+
}
|
|
27
|
+
export async function factoryCreateOtp(digits = 6) {
|
|
28
|
+
return generateOtp(digits);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=cryptoFactory.token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoFactory.token.js","sourceRoot":"","sources":["../../src/cryptoFactory/cryptoFactory.token.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,WAAW,GACZ,MAAM,oCAAoC,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAK,GAAG,EAAE,EACV,MAAe,EACf,QAAQ,GAAkB,WAAW;IAErC,OAAO,aAAa,CAAC;QACnB,KAAK;QACL,QAAQ;QACR,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B;IAClD,OAAO,yBAAyB,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B;IACnD,OAAO,0BAA0B,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,OAAO,iBAAiB,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAM,GAAG,CAAC;IAC/C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cryptoFactory/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cryptoFactory/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { HashEncoding } from "./cryptoHash.core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Converts a hash result into its encoded representation.
|
|
4
|
+
*/
|
|
5
|
+
export declare function encodeDigest(digest: Uint8Array, encoding: HashEncoding): string;
|
|
6
|
+
/**
|
|
7
|
+
* Decodes a hash string into bytes.
|
|
8
|
+
*/
|
|
9
|
+
export declare function decodeDigest(digest: string, encoding?: HashEncoding): Uint8Array;
|
|
10
|
+
//# sourceMappingURL=cryptoHash.codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoHash.codec.d.ts","sourceRoot":"","sources":["../../src/cryptoHash/cryptoHash.codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,YAAY,GACrB,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,YAAoB,GAC7B,UAAU,CAuBZ"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a hash result into its encoded representation.
|
|
3
|
+
*/
|
|
4
|
+
export function encodeDigest(digest, encoding) {
|
|
5
|
+
const buffer = Buffer.from(digest);
|
|
6
|
+
switch (encoding) {
|
|
7
|
+
case "hex":
|
|
8
|
+
return buffer.toString("hex");
|
|
9
|
+
case "base64":
|
|
10
|
+
return buffer.toString("base64");
|
|
11
|
+
case "base64url":
|
|
12
|
+
return buffer.toString("base64url");
|
|
13
|
+
default:
|
|
14
|
+
throw new TypeError(`Unsupported hash encoding: ${String(encoding)}.`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Decodes a hash string into bytes.
|
|
19
|
+
*/
|
|
20
|
+
export function decodeDigest(digest, encoding = "hex") {
|
|
21
|
+
if (typeof digest !== "string" || digest.length === 0) {
|
|
22
|
+
throw new TypeError("Digest must be a non-empty string.");
|
|
23
|
+
}
|
|
24
|
+
switch (encoding) {
|
|
25
|
+
case "hex": {
|
|
26
|
+
if (!/^[0-9a-fA-F]+$/.test(digest) || digest.length % 2 !== 0) {
|
|
27
|
+
throw new TypeError("Invalid hexadecimal digest.");
|
|
28
|
+
}
|
|
29
|
+
return new Uint8Array(Buffer.from(digest, "hex"));
|
|
30
|
+
}
|
|
31
|
+
case "base64":
|
|
32
|
+
return new Uint8Array(Buffer.from(digest, "base64"));
|
|
33
|
+
case "base64url":
|
|
34
|
+
return new Uint8Array(Buffer.from(digest, "base64url"));
|
|
35
|
+
default:
|
|
36
|
+
throw new TypeError(`Unsupported hash encoding: ${String(encoding)}.`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=cryptoHash.codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoHash.codec.js","sourceRoot":"","sources":["../../src/cryptoHash/cryptoHash.codec.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAkB,EAClB,QAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtC;YACE,MAAM,IAAI,SAAS,CAAC,8BAA8B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,QAAQ,GAAiB,KAAK;IAE9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC5D,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,QAAQ;YACX,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEvD,KAAK,WAAW;YACd,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAE1D;YACE,MAAM,IAAI,SAAS,CAAC,8BAA8B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoHash.compare.d.ts","sourceRoot":"","sources":["../../src/cryptoHash/cryptoHash.compare.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAYzE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performs a constant-time comparison of two digest strings.
|
|
3
|
+
*/
|
|
4
|
+
export function equalDigests(left, right) {
|
|
5
|
+
if (left.byteLength !== right.byteLength) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
let difference = 0;
|
|
9
|
+
for (let index = 0; index < left.byteLength; index += 1) {
|
|
10
|
+
difference |= left[index] ^ right[index];
|
|
11
|
+
}
|
|
12
|
+
return difference === 0;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=cryptoHash.compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoHash.compare.js","sourceRoot":"","sources":["../../src/cryptoHash/cryptoHash.compare.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,KAAiB;IAC9D,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,UAAU,IAAI,IAAI,CAAC,KAAK,CAAE,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;IAC7C,CAAC;IAED,OAAO,UAAU,KAAK,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { HashInput, HashEncoding } from "./cryptoHash.core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Calculates a SHA-256 digest.
|
|
4
|
+
*/
|
|
5
|
+
export declare function sha256(input: HashInput, encoding?: HashEncoding): Promise<string>;
|
|
6
|
+
/**
|
|
7
|
+
* Calculates a SHA-384 digest.
|
|
8
|
+
*/
|
|
9
|
+
export declare function sha384(input: HashInput, encoding?: HashEncoding): Promise<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Calculates a SHA-512 digest.
|
|
12
|
+
*/
|
|
13
|
+
export declare function sha512(input: HashInput, encoding?: HashEncoding): Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Calculates a SHA3-256 digest.
|
|
16
|
+
*/
|
|
17
|
+
export declare function sha3_256(input: HashInput, encoding?: HashEncoding): Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Calculates a SHA3-384 digest.
|
|
20
|
+
*/
|
|
21
|
+
export declare function sha3_384(input: HashInput, encoding?: HashEncoding): Promise<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Calculates a SHA3-512 digest.
|
|
24
|
+
*/
|
|
25
|
+
export declare function sha3_512(input: HashInput, encoding?: HashEncoding): Promise<string>;
|
|
26
|
+
//# sourceMappingURL=cryptoHash.convenience.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoHash.convenience.d.ts","sourceRoot":"","sources":["../../src/cryptoHash/cryptoHash.convenience.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpE;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,YAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,YAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,YAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,YAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,YAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,YAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { hash } from "./cryptoHash.core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Calculates a SHA-256 digest.
|
|
4
|
+
*/
|
|
5
|
+
export async function sha256(input, encoding = "hex") {
|
|
6
|
+
return (await hash(input, {
|
|
7
|
+
algorithm: "sha256",
|
|
8
|
+
encoding,
|
|
9
|
+
})).encoded;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Calculates a SHA-384 digest.
|
|
13
|
+
*/
|
|
14
|
+
export async function sha384(input, encoding = "hex") {
|
|
15
|
+
return (await hash(input, {
|
|
16
|
+
algorithm: "sha384",
|
|
17
|
+
encoding,
|
|
18
|
+
})).encoded;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Calculates a SHA-512 digest.
|
|
22
|
+
*/
|
|
23
|
+
export async function sha512(input, encoding = "hex") {
|
|
24
|
+
return (await hash(input, {
|
|
25
|
+
algorithm: "sha512",
|
|
26
|
+
encoding,
|
|
27
|
+
})).encoded;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Calculates a SHA3-256 digest.
|
|
31
|
+
*/
|
|
32
|
+
export async function sha3_256(input, encoding = "hex") {
|
|
33
|
+
return (await hash(input, {
|
|
34
|
+
algorithm: "sha3-256",
|
|
35
|
+
encoding,
|
|
36
|
+
})).encoded;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Calculates a SHA3-384 digest.
|
|
40
|
+
*/
|
|
41
|
+
export async function sha3_384(input, encoding = "hex") {
|
|
42
|
+
return (await hash(input, {
|
|
43
|
+
algorithm: "sha3-384",
|
|
44
|
+
encoding,
|
|
45
|
+
})).encoded;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Calculates a SHA3-512 digest.
|
|
49
|
+
*/
|
|
50
|
+
export async function sha3_512(input, encoding = "hex") {
|
|
51
|
+
return (await hash(input, {
|
|
52
|
+
algorithm: "sha3-512",
|
|
53
|
+
encoding,
|
|
54
|
+
})).encoded;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=cryptoHash.convenience.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoHash.convenience.js","sourceRoot":"","sources":["../../src/cryptoHash/cryptoHash.convenience.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAgB,EAChB,QAAQ,GAAiB,KAAK;IAE9B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,EAAE;QAChB,SAAS,EAAE,QAAQ;QACnB,QAAQ;KACT,CAAC,CACH,CAAC,OAAO,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAgB,EAChB,QAAQ,GAAiB,KAAK;IAE9B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,EAAE;QAChB,SAAS,EAAE,QAAQ;QACnB,QAAQ;KACT,CAAC,CACH,CAAC,OAAO,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAgB,EAChB,QAAQ,GAAiB,KAAK;IAE9B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,EAAE;QAChB,SAAS,EAAE,QAAQ;QACnB,QAAQ;KACT,CAAC,CACH,CAAC,OAAO,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAgB,EAChB,QAAQ,GAAiB,KAAK;IAE9B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,EAAE;QAChB,SAAS,EAAE,UAAU;QACrB,QAAQ;KACT,CAAC,CACH,CAAC,OAAO,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAgB,EAChB,QAAQ,GAAiB,KAAK;IAE9B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,EAAE;QAChB,SAAS,EAAE,UAAU;QACrB,QAAQ;KACT,CAAC,CACH,CAAC,OAAO,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAgB,EAChB,QAAQ,GAAiB,KAAK;IAE9B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,EAAE;QAChB,SAAS,EAAE,UAAU;QACrB,QAAQ;KACT,CAAC,CACH,CAAC,OAAO,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { HashAlgorithm } from "../cryptoProvider/index.js";
|
|
2
|
+
import type { HashResult, HashEncoding } from "../cryptoProvider/types/cryptoHash.type.js";
|
|
3
|
+
export type { HashResult, HashEncoding, } from "../cryptoProvider/types/cryptoHash.type.js";
|
|
4
|
+
/**
|
|
5
|
+
* Converts supported input data into bytes.
|
|
6
|
+
*/
|
|
7
|
+
export type HashInput = string | Uint8Array | ArrayBuffer;
|
|
8
|
+
/**
|
|
9
|
+
* Options for hashing data.
|
|
10
|
+
*/
|
|
11
|
+
export interface HashOptions {
|
|
12
|
+
readonly algorithm?: HashAlgorithm;
|
|
13
|
+
readonly encoding?: HashEncoding;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hashes arbitrary data using a cryptographic hash algorithm.
|
|
17
|
+
*/
|
|
18
|
+
export declare function hash(input: HashInput, options?: HashOptions): Promise<HashResult>;
|
|
19
|
+
//# sourceMappingURL=cryptoHash.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoHash.core.d.ts","sourceRoot":"","sources":["../../src/cryptoHash/cryptoHash.core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,4BAA4B,CAAC;AAE7E,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACb,MAAM,4CAA4C,CAAC;AAEpD,YAAY,EACV,UAAU,EACV,YAAY,GACb,MAAM,4CAA4C,CAAC;AAMpD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAYrB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createNodeCryptoProvider } from "../node/index.js";
|
|
2
|
+
import { encodeDigest } from "./cryptoHash.codec.js";
|
|
3
|
+
const provider = createNodeCryptoProvider();
|
|
4
|
+
/**
|
|
5
|
+
* Hashes arbitrary data using a cryptographic hash algorithm.
|
|
6
|
+
*/
|
|
7
|
+
export async function hash(input, options = {}) {
|
|
8
|
+
const algorithm = options.algorithm ?? "sha256";
|
|
9
|
+
const digest = await provider.hash(algorithm, input);
|
|
10
|
+
const encoding = options.encoding ?? "hex";
|
|
11
|
+
return Object.freeze({
|
|
12
|
+
algorithm,
|
|
13
|
+
digest,
|
|
14
|
+
encoded: encodeDigest(digest, encoding),
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=cryptoHash.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoHash.core.js","sourceRoot":"","sources":["../../src/cryptoHash/cryptoHash.core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAc5D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;AAe5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,KAAgB,EAChB,OAAO,GAAgB,EAAE;IAEzB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IAE3C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,MAAM;QACN,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;KACxC,CAAC,CAAC;AACL,CAAC"}
|