@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,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performs a constant-time comparison of two byte arrays.
|
|
3
|
+
*
|
|
4
|
+
* Returns false immediately if the lengths differ.
|
|
5
|
+
* Uses XOR accumulation to avoid timing side-channels.
|
|
6
|
+
*/
|
|
7
|
+
export function timingSafeEqual(left, right) {
|
|
8
|
+
if (left.byteLength !== right.byteLength) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
let difference = 0;
|
|
12
|
+
for (let index = 0; index < left.byteLength; index += 1) {
|
|
13
|
+
difference |= left[index] ^ right[index];
|
|
14
|
+
}
|
|
15
|
+
return difference === 0;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=compare.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.helper.js","sourceRoot":"","sources":["../../src/compare/compare.helper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAgB,EAAE,KAAiB;IACjE,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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compare/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compare/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cryptoAlgorithm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cryptoAlgorithm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options used when encrypting data.
|
|
3
|
+
*/
|
|
4
|
+
export interface CipherOptions {
|
|
5
|
+
readonly iv?: Uint8Array;
|
|
6
|
+
readonly aad?: Uint8Array;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Authenticated encryption result.
|
|
10
|
+
*/
|
|
11
|
+
export interface CipherResult {
|
|
12
|
+
readonly algorithm: string;
|
|
13
|
+
readonly ciphertext: Uint8Array;
|
|
14
|
+
readonly iv: Uint8Array;
|
|
15
|
+
readonly authTag: Uint8Array;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Encrypts data using AES-256-GCM.
|
|
19
|
+
*/
|
|
20
|
+
export declare function encrypt(plaintext: Uint8Array, key: Uint8Array, options?: CipherOptions): Promise<CipherResult>;
|
|
21
|
+
/**
|
|
22
|
+
* Decrypts AES-256-GCM ciphertext.
|
|
23
|
+
*/
|
|
24
|
+
export declare function decrypt(ciphertext: Uint8Array, key: Uint8Array, iv: Uint8Array, authTag: Uint8Array, aad?: Uint8Array): Promise<Uint8Array>;
|
|
25
|
+
//# sourceMappingURL=cryptoCipher.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoCipher.core.d.ts","sourceRoot":"","sources":["../../src/cryptoCipher/cryptoCipher.core.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CAWrB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createNodeCryptoProvider } from "../node/index.js";
|
|
2
|
+
const provider = createNodeCryptoProvider();
|
|
3
|
+
/**
|
|
4
|
+
* Encrypts data using AES-256-GCM.
|
|
5
|
+
*/
|
|
6
|
+
export async function encrypt(plaintext, key, options = {}) {
|
|
7
|
+
const encrypted = await provider.encrypt({
|
|
8
|
+
key,
|
|
9
|
+
plaintext,
|
|
10
|
+
associatedData: options.aad,
|
|
11
|
+
nonce: options.iv,
|
|
12
|
+
});
|
|
13
|
+
return Object.freeze({
|
|
14
|
+
algorithm: encrypted.algorithm,
|
|
15
|
+
ciphertext: encrypted.ciphertext,
|
|
16
|
+
iv: encrypted.nonce,
|
|
17
|
+
authTag: encrypted.tag,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Decrypts AES-256-GCM ciphertext.
|
|
22
|
+
*/
|
|
23
|
+
export async function decrypt(ciphertext, key, iv, authTag, aad) {
|
|
24
|
+
return provider.decrypt({
|
|
25
|
+
key,
|
|
26
|
+
encrypted: {
|
|
27
|
+
algorithm: "aes-256-gcm",
|
|
28
|
+
ciphertext,
|
|
29
|
+
nonce: iv,
|
|
30
|
+
tag: authTag,
|
|
31
|
+
},
|
|
32
|
+
associatedData: aad,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=cryptoCipher.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoCipher.core.js","sourceRoot":"","sources":["../../src/cryptoCipher/cryptoCipher.core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;AAoB5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAqB,EACrB,GAAe,EACf,OAAO,GAAkB,EAAE;IAE3B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;QACvC,GAAG;QACH,SAAS;QACT,cAAc,EAAE,OAAO,CAAC,GAAG;QAC3B,KAAK,EAAE,OAAO,CAAC,EAAE;KAClB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,EAAE,EAAE,SAAS,CAAC,KAAK;QACnB,OAAO,EAAE,SAAS,CAAC,GAAG;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,UAAsB,EACtB,GAAe,EACf,EAAc,EACd,OAAmB,EACnB,GAAgB;IAEhB,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,GAAG;QACH,SAAS,EAAE;YACT,SAAS,EAAE,aAAa;YACxB,UAAU;YACV,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,OAAO;SACb;QACD,cAAc,EAAE,GAAG;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CipherOptions } from "./cryptoCipher.core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates an encrypted envelope suitable for storage or transport.
|
|
4
|
+
*
|
|
5
|
+
* The format is:
|
|
6
|
+
*
|
|
7
|
+
* version.algorithm.iv.authTag.ciphertext
|
|
8
|
+
*
|
|
9
|
+
* All binary fields are Base64URL encoded.
|
|
10
|
+
*/
|
|
11
|
+
export declare function encryptEnvelope(plaintext: Uint8Array, key: Uint8Array, options?: CipherOptions): Promise<string>;
|
|
12
|
+
/**
|
|
13
|
+
* Decrypts an encrypted envelope.
|
|
14
|
+
*/
|
|
15
|
+
export declare function decryptEnvelope(envelope: string, key: Uint8Array, aad?: Uint8Array): Promise<Uint8Array>;
|
|
16
|
+
//# sourceMappingURL=cryptoCipher.envelope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoCipher.envelope.d.ts","sourceRoot":"","sources":["../../src/cryptoCipher/cryptoCipher.envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,UAAU,EACf,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CA2BrB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { encrypt, decrypt } from "./cryptoCipher.core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates an encrypted envelope suitable for storage or transport.
|
|
4
|
+
*
|
|
5
|
+
* The format is:
|
|
6
|
+
*
|
|
7
|
+
* version.algorithm.iv.authTag.ciphertext
|
|
8
|
+
*
|
|
9
|
+
* All binary fields are Base64URL encoded.
|
|
10
|
+
*/
|
|
11
|
+
export async function encryptEnvelope(plaintext, key, options = {}) {
|
|
12
|
+
const result = await encrypt(plaintext, key, options);
|
|
13
|
+
return [
|
|
14
|
+
"v1",
|
|
15
|
+
result.algorithm,
|
|
16
|
+
Buffer.from(result.iv).toString("base64url"),
|
|
17
|
+
Buffer.from(result.authTag).toString("base64url"),
|
|
18
|
+
Buffer.from(result.ciphertext).toString("base64url"),
|
|
19
|
+
].join(".");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Decrypts an encrypted envelope.
|
|
23
|
+
*/
|
|
24
|
+
export async function decryptEnvelope(envelope, key, aad) {
|
|
25
|
+
if (typeof envelope !== "string") {
|
|
26
|
+
throw new TypeError("Encrypted envelope must be a string.");
|
|
27
|
+
}
|
|
28
|
+
const parts = envelope.split(".");
|
|
29
|
+
if (parts.length !== 5) {
|
|
30
|
+
throw new TypeError("Invalid encrypted envelope.");
|
|
31
|
+
}
|
|
32
|
+
const [version, algorithm, encodedIv, encodedAuthTag, encodedCiphertext] = parts;
|
|
33
|
+
if (version !== "v1") {
|
|
34
|
+
throw new TypeError(`Unsupported encrypted envelope version: ${version}.`);
|
|
35
|
+
}
|
|
36
|
+
if (algorithm !== "aes-256-gcm") {
|
|
37
|
+
throw new TypeError(`Unsupported envelope algorithm: ${algorithm}.`);
|
|
38
|
+
}
|
|
39
|
+
const iv = decodeBase64Url(encodedIv);
|
|
40
|
+
const authTag = decodeBase64Url(encodedAuthTag);
|
|
41
|
+
const ciphertext = decodeBase64Url(encodedCiphertext);
|
|
42
|
+
return decrypt(ciphertext, key, iv, authTag, aad);
|
|
43
|
+
}
|
|
44
|
+
function decodeBase64Url(value) {
|
|
45
|
+
if (!/^[A-Za-z0-9_-]*$/.test(value)) {
|
|
46
|
+
throw new TypeError("Invalid Base64URL value.");
|
|
47
|
+
}
|
|
48
|
+
return new Uint8Array(Buffer.from(value, "base64url"));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=cryptoCipher.envelope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoCipher.envelope.js","sourceRoot":"","sources":["../../src/cryptoCipher/cryptoCipher.envelope.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAqB,EACrB,GAAe,EACf,OAAO,GAAkB,EAAE;IAE3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO;QACL,IAAI;QACJ,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;KACrD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,GAAe,EACf,GAAgB;IAEhB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,CAAC,GACtE,KAAiD,CAAC;IAEpD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,2CAA2C,OAAO,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,mCAAmC,SAAS,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CipherOptions, CipherResult } from "./cryptoCipher.core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Encrypts a UTF-8 string using AES-256-GCM.
|
|
4
|
+
*/
|
|
5
|
+
export declare function encryptString(plaintext: string, key: Uint8Array, options?: CipherOptions): Promise<CipherResult>;
|
|
6
|
+
/**
|
|
7
|
+
* Decrypts AES-256-GCM ciphertext into a UTF-8 string.
|
|
8
|
+
*/
|
|
9
|
+
export declare function decryptString(ciphertext: Uint8Array, key: Uint8Array, iv: Uint8Array, authTag: Uint8Array, aad?: Uint8Array): Promise<string>;
|
|
10
|
+
//# sourceMappingURL=cryptoCipher.string.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoCipher.string.d.ts","sourceRoot":"","sources":["../../src/cryptoCipher/cryptoCipher.string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI1E;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { encrypt, decrypt } from "./cryptoCipher.core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Encrypts a UTF-8 string using AES-256-GCM.
|
|
4
|
+
*/
|
|
5
|
+
export async function encryptString(plaintext, key, options = {}) {
|
|
6
|
+
return encrypt(new Uint8Array(Buffer.from(plaintext, "utf8")), key, options);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Decrypts AES-256-GCM ciphertext into a UTF-8 string.
|
|
10
|
+
*/
|
|
11
|
+
export async function decryptString(ciphertext, key, iv, authTag, aad) {
|
|
12
|
+
const plaintext = await decrypt(ciphertext, key, iv, authTag, aad);
|
|
13
|
+
return Buffer.from(plaintext).toString("utf8");
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=cryptoCipher.string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoCipher.string.js","sourceRoot":"","sources":["../../src/cryptoCipher/cryptoCipher.string.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,GAAe,EACf,OAAO,GAAkB,EAAE;IAE3B,OAAO,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAsB,EACtB,GAAe,EACf,EAAc,EACd,OAAmB,EACnB,GAAgB;IAEhB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAEnE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/crypto/cryptoCipher
|
|
3
|
+
*
|
|
4
|
+
* Symmetric and asymmetric encryption operations.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./cryptoCipher.core.js";
|
|
7
|
+
export * from "./cryptoCipher.string.js";
|
|
8
|
+
export * from "./cryptoCipher.envelope.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cryptoCipher/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/crypto/cryptoCipher
|
|
3
|
+
*
|
|
4
|
+
* Symmetric and asymmetric encryption operations.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./cryptoCipher.core.js";
|
|
7
|
+
export * from "./cryptoCipher.string.js";
|
|
8
|
+
export * from "./cryptoCipher.envelope.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cryptoCipher/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CRYPTO_ALGORITHM, ENCODING } from "./cryptoConstants.type.js";
|
|
2
|
+
import { TOKEN_PREFIX } from "./cryptoConstants.token.js";
|
|
3
|
+
/**
|
|
4
|
+
* Type-safe union of supported crypto algorithm identifiers.
|
|
5
|
+
*/
|
|
6
|
+
export type CryptoAlgorithmName = (typeof CRYPTO_ALGORITHM)[keyof typeof CRYPTO_ALGORITHM];
|
|
7
|
+
/**
|
|
8
|
+
* Type-safe union of supported token prefixes.
|
|
9
|
+
*/
|
|
10
|
+
export type TokenPrefix = (typeof TOKEN_PREFIX)[keyof typeof TOKEN_PREFIX];
|
|
11
|
+
/**
|
|
12
|
+
* Type-safe union of supported encodings.
|
|
13
|
+
*/
|
|
14
|
+
export type CryptoEncodingName = (typeof ENCODING)[keyof typeof ENCODING];
|
|
15
|
+
/**
|
|
16
|
+
* Returns the default AES-GCM configuration.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getDefaultAesGcmConfig(): {
|
|
19
|
+
readonly keyBytes: number;
|
|
20
|
+
readonly keyBits: number;
|
|
21
|
+
readonly ivBytes: number;
|
|
22
|
+
readonly authTagBytes: number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Returns the default password hashing configuration.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getDefaultPasswordHashConfig(): {
|
|
28
|
+
readonly saltBytes: number;
|
|
29
|
+
readonly keyBytes: number;
|
|
30
|
+
readonly scryptCost: number;
|
|
31
|
+
readonly scryptBlockSize: number;
|
|
32
|
+
readonly scryptParallelization: number;
|
|
33
|
+
readonly pbkdf2Iterations: number;
|
|
34
|
+
readonly pbkdf2Digest: string;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=cryptoConstants.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoConstants.config.d.ts","sourceRoot":"","sources":["../../src/cryptoConstants/cryptoConstants.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAW,MAAM,2BAA2B,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC7B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAE1E;;GAEG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAOA;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAgBA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CRYPTO_ALGORITHM, ENCODING, AES_GCM } from "./cryptoConstants.type.js";
|
|
2
|
+
import { TOKEN_PREFIX } from "./cryptoConstants.token.js";
|
|
3
|
+
import { PASSWORD_HASH } from "./cryptoConstants.security.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns the default AES-GCM configuration.
|
|
6
|
+
*/
|
|
7
|
+
export function getDefaultAesGcmConfig() {
|
|
8
|
+
return {
|
|
9
|
+
keyBytes: AES_GCM.KEY_BYTES,
|
|
10
|
+
keyBits: AES_GCM.KEY_BITS,
|
|
11
|
+
ivBytes: AES_GCM.IV_BYTES,
|
|
12
|
+
authTagBytes: AES_GCM.AUTH_TAG_BYTES,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns the default password hashing configuration.
|
|
17
|
+
*/
|
|
18
|
+
export function getDefaultPasswordHashConfig() {
|
|
19
|
+
return {
|
|
20
|
+
saltBytes: PASSWORD_HASH.SALT_BYTES,
|
|
21
|
+
keyBytes: PASSWORD_HASH.KEY_BYTES,
|
|
22
|
+
scryptCost: PASSWORD_HASH.SCRYPT.COST,
|
|
23
|
+
scryptBlockSize: PASSWORD_HASH.SCRYPT.BLOCK_SIZE,
|
|
24
|
+
scryptParallelization: PASSWORD_HASH.SCRYPT.PARALLELIZATION,
|
|
25
|
+
pbkdf2Iterations: PASSWORD_HASH.PBKDF2.ITERATIONS,
|
|
26
|
+
pbkdf2Digest: PASSWORD_HASH.PBKDF2.DIGEST,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=cryptoConstants.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoConstants.config.js","sourceRoot":"","sources":["../../src/cryptoConstants/cryptoConstants.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAkB9D;;GAEG;AACH,MAAM,UAAU,sBAAsB;IAMpC,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,SAAS;QAC3B,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,YAAY,EAAE,OAAO,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAS1C,OAAO;QACL,SAAS,EAAE,aAAa,CAAC,UAAU;QAEnC,QAAQ,EAAE,aAAa,CAAC,SAAS;QAEjC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI;QAErC,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU;QAEhD,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,eAAe;QAE3D,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU;QAEjD,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CryptoAlgorithm } from "./cryptoConstants.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns true when an algorithm provides authenticated encryption.
|
|
4
|
+
*/
|
|
5
|
+
export declare function isAeadAlgorithm(algorithm: CryptoAlgorithm): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Returns true when an algorithm is a hashing algorithm.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isHashAlgorithm(algorithm: CryptoAlgorithm): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Returns true when an algorithm is a key derivation algorithm.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isKeyDerivationAlgorithm(algorithm: CryptoAlgorithm): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Returns true when an algorithm is a message authentication algorithm.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isMacAlgorithm(algorithm: CryptoAlgorithm): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Returns true when the supplied value is a supported algorithm.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isCryptoAlgorithm(value: unknown): value is CryptoAlgorithm;
|
|
22
|
+
/**
|
|
23
|
+
* Parses an algorithm from an arbitrary value.
|
|
24
|
+
*
|
|
25
|
+
* Throws when the value is not a supported algorithm.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parseCryptoAlgorithm(value: string): CryptoAlgorithm;
|
|
28
|
+
//# sourceMappingURL=cryptoConstants.guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoConstants.guard.d.ts","sourceRoot":"","sources":["../../src/cryptoConstants/cryptoConstants.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKhB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAInE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAInE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAI5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAElE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAK1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAQnE"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { CryptoAlgorithm, AEAD_ALGORITHMS, HASH_ALGORITHMS, KEY_DERIVATION_ALGORITHMS, MAC_ALGORITHMS, } from "./cryptoConstants.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns true when an algorithm provides authenticated encryption.
|
|
4
|
+
*/
|
|
5
|
+
export function isAeadAlgorithm(algorithm) {
|
|
6
|
+
return AEAD_ALGORITHMS.includes(algorithm);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Returns true when an algorithm is a hashing algorithm.
|
|
10
|
+
*/
|
|
11
|
+
export function isHashAlgorithm(algorithm) {
|
|
12
|
+
return HASH_ALGORITHMS.includes(algorithm);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns true when an algorithm is a key derivation algorithm.
|
|
16
|
+
*/
|
|
17
|
+
export function isKeyDerivationAlgorithm(algorithm) {
|
|
18
|
+
return KEY_DERIVATION_ALGORITHMS.includes(algorithm);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns true when an algorithm is a message authentication algorithm.
|
|
22
|
+
*/
|
|
23
|
+
export function isMacAlgorithm(algorithm) {
|
|
24
|
+
return MAC_ALGORITHMS.includes(algorithm);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns true when the supplied value is a supported algorithm.
|
|
28
|
+
*/
|
|
29
|
+
export function isCryptoAlgorithm(value) {
|
|
30
|
+
return (typeof value === "string" &&
|
|
31
|
+
Object.values(CryptoAlgorithm).includes(value));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Parses an algorithm from an arbitrary value.
|
|
35
|
+
*
|
|
36
|
+
* Throws when the value is not a supported algorithm.
|
|
37
|
+
*/
|
|
38
|
+
export function parseCryptoAlgorithm(value) {
|
|
39
|
+
const normalized = value.trim().toLowerCase();
|
|
40
|
+
if (isCryptoAlgorithm(normalized)) {
|
|
41
|
+
return normalized;
|
|
42
|
+
}
|
|
43
|
+
throw new TypeError(`Unsupported cryptographic algorithm: "${value}".`);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=cryptoConstants.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoConstants.guard.js","sourceRoot":"","sources":["../../src/cryptoConstants/cryptoConstants.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAA0B;IACxD,OAAO,eAAe,CAAC,QAAQ,CAC7B,SAA6C,CAC9C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAA0B;IACxD,OAAO,eAAe,CAAC,QAAQ,CAC7B,SAA6C,CAC9C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAA0B;IACjE,OAAO,yBAAyB,CAAC,QAAQ,CACvC,SAAuD,CACxD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAA0B;IACvD,OAAO,cAAc,CAAC,QAAQ,CAAC,SAA4C,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAwB,CAAC,CAClE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,SAAS,CAAC,yCAAyC,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Password hashing constants.
|
|
3
|
+
*/
|
|
4
|
+
export declare const PASSWORD_HASH: Readonly<{
|
|
5
|
+
readonly SALT_BYTES: 16;
|
|
6
|
+
readonly KEY_BYTES: 32;
|
|
7
|
+
readonly SCRYPT: Readonly<{
|
|
8
|
+
COST: 16384;
|
|
9
|
+
BLOCK_SIZE: 8;
|
|
10
|
+
PARALLELIZATION: 1;
|
|
11
|
+
}>;
|
|
12
|
+
readonly PBKDF2: Readonly<{
|
|
13
|
+
ITERATIONS: 310000;
|
|
14
|
+
DIGEST: "sha256";
|
|
15
|
+
}>;
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Password policy defaults.
|
|
19
|
+
*
|
|
20
|
+
* These values are intentionally conservative defaults.
|
|
21
|
+
* Applications may impose stricter requirements.
|
|
22
|
+
*/
|
|
23
|
+
export declare const PASSWORD_POLICY: Readonly<{
|
|
24
|
+
readonly MIN_LENGTH: 8;
|
|
25
|
+
readonly RECOMMENDED_MIN_LENGTH: 12;
|
|
26
|
+
readonly MAX_LENGTH: 1024;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Password reset and verification token lifetime defaults.
|
|
30
|
+
*
|
|
31
|
+
* Values are expressed in milliseconds.
|
|
32
|
+
*/
|
|
33
|
+
export declare const TOKEN_TTL: Readonly<{
|
|
34
|
+
readonly EMAIL_VERIFICATION_MS: number;
|
|
35
|
+
readonly PASSWORD_RESET_MS: number;
|
|
36
|
+
readonly LOGIN_VERIFICATION_MS: number;
|
|
37
|
+
readonly CSRF_MS: 3600000;
|
|
38
|
+
readonly SESSION_MS: number;
|
|
39
|
+
readonly REFRESH_TOKEN_MS: number;
|
|
40
|
+
}>;
|
|
41
|
+
//# sourceMappingURL=cryptoConstants.security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoConstants.security.d.ts","sourceRoot":"","sources":["../../src/cryptoConstants/cryptoConstants.security.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,aAAa;yBACZ,EAAE;wBACH,EAAE;;;;;;;;;;EAYJ,CAAC;AAEZ;;;;;GAKG;AACH,eAAO,MAAM,eAAe;yBACd,CAAC;qCACW,EAAE;yBACd,IAAI;EACP,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;EAYX,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TimeMs } from "@zudojs/constants";
|
|
2
|
+
/**
|
|
3
|
+
* Password hashing constants.
|
|
4
|
+
*/
|
|
5
|
+
export const PASSWORD_HASH = Object.freeze({
|
|
6
|
+
SALT_BYTES: 16,
|
|
7
|
+
KEY_BYTES: 32,
|
|
8
|
+
SCRYPT: Object.freeze({
|
|
9
|
+
COST: 16_384,
|
|
10
|
+
BLOCK_SIZE: 8,
|
|
11
|
+
PARALLELIZATION: 1,
|
|
12
|
+
}),
|
|
13
|
+
PBKDF2: Object.freeze({
|
|
14
|
+
ITERATIONS: 310_000,
|
|
15
|
+
DIGEST: "sha256",
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Password policy defaults.
|
|
20
|
+
*
|
|
21
|
+
* These values are intentionally conservative defaults.
|
|
22
|
+
* Applications may impose stricter requirements.
|
|
23
|
+
*/
|
|
24
|
+
export const PASSWORD_POLICY = Object.freeze({
|
|
25
|
+
MIN_LENGTH: 8,
|
|
26
|
+
RECOMMENDED_MIN_LENGTH: 12,
|
|
27
|
+
MAX_LENGTH: 1024,
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Password reset and verification token lifetime defaults.
|
|
31
|
+
*
|
|
32
|
+
* Values are expressed in milliseconds.
|
|
33
|
+
*/
|
|
34
|
+
export const TOKEN_TTL = Object.freeze({
|
|
35
|
+
EMAIL_VERIFICATION_MS: TimeMs.MINUTE * 15,
|
|
36
|
+
PASSWORD_RESET_MS: TimeMs.MINUTE * 15,
|
|
37
|
+
LOGIN_VERIFICATION_MS: TimeMs.MINUTE * 10,
|
|
38
|
+
CSRF_MS: TimeMs.HOUR,
|
|
39
|
+
SESSION_MS: 24 * TimeMs.HOUR,
|
|
40
|
+
REFRESH_TOKEN_MS: 30 * 24 * TimeMs.HOUR,
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=cryptoConstants.security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoConstants.security.js","sourceRoot":"","sources":["../../src/cryptoConstants/cryptoConstants.security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IAEb,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,CAAC;KACnB,CAAC;IAEF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,QAAQ;KACjB,CAAC;CACM,CAAC,CAAC;AAEZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,UAAU,EAAE,CAAC;IACb,sBAAsB,EAAE,EAAE;IAC1B,UAAU,EAAE,IAAI;CACR,CAAC,CAAC;AAEZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,qBAAqB,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE;IAEzC,iBAAiB,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE;IAErC,qBAAqB,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE;IAEzC,OAAO,EAAE,MAAM,CAAC,IAAI;IAEpB,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI;IAE5B,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI;CAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token constants.
|
|
3
|
+
*/
|
|
4
|
+
export declare const TOKEN: Readonly<{
|
|
5
|
+
readonly DEFAULT_BYTES: 32;
|
|
6
|
+
readonly API_KEY_BYTES: 32;
|
|
7
|
+
readonly SESSION_BYTES: 32;
|
|
8
|
+
readonly REFRESH_BYTES: 48;
|
|
9
|
+
readonly VERIFICATION_BYTES: 32;
|
|
10
|
+
readonly PASSWORD_RESET_BYTES: 32;
|
|
11
|
+
readonly CSRF_BYTES: 32;
|
|
12
|
+
readonly OTP_DIGITS: 6;
|
|
13
|
+
readonly OTP_MIN_DIGITS: 4;
|
|
14
|
+
readonly OTP_MAX_DIGITS: 12;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Random value constraints.
|
|
18
|
+
*/
|
|
19
|
+
export declare const RANDOM: Readonly<{
|
|
20
|
+
readonly MIN_BYTES: 16;
|
|
21
|
+
readonly DEFAULT_BYTES: 32;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Common token prefixes.
|
|
25
|
+
*
|
|
26
|
+
* Prefixes make opaque credentials easier to identify during
|
|
27
|
+
* logging, debugging, and secret scanning without exposing
|
|
28
|
+
* their underlying value.
|
|
29
|
+
*/
|
|
30
|
+
export declare const TOKEN_PREFIX: Readonly<{
|
|
31
|
+
readonly API_KEY: "lat_";
|
|
32
|
+
readonly SESSION: "sess_";
|
|
33
|
+
readonly REFRESH: "ref_";
|
|
34
|
+
readonly VERIFICATION: "verify_";
|
|
35
|
+
readonly PASSWORD_RESET: "reset_";
|
|
36
|
+
readonly CSRF: "csrf_";
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Cryptographic protocol versions.
|
|
40
|
+
*/
|
|
41
|
+
export declare const CRYPTO_VERSION: Readonly<{
|
|
42
|
+
readonly CURRENT: "v1";
|
|
43
|
+
readonly PASSWORD_HASH: "v1";
|
|
44
|
+
readonly ENCRYPTION_ENVELOPE: "v1";
|
|
45
|
+
readonly TOKEN: "v1";
|
|
46
|
+
}>;
|
|
47
|
+
//# sourceMappingURL=cryptoConstants.token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoConstants.token.d.ts","sourceRoot":"","sources":["../../src/cryptoConstants/cryptoConstants.token.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,KAAK;4BACD,EAAE;4BAEF,EAAE;4BACF,EAAE;4BACF,EAAE;iCACG,EAAE;mCACA,EAAE;yBACZ,EAAE;yBAEF,CAAC;6BACG,CAAC;6BACD,EAAE;EACT,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,MAAM;wBACN,EAAE;4BACE,EAAE;EACR,CAAC;AAEZ;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;sBACd,MAAM;sBACN,OAAO;sBACP,MAAM;2BACD,SAAS;6BACP,QAAQ;mBAClB,OAAO;EACJ,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,cAAc;sBAChB,IAAI;4BACE,IAAI;kCACE,IAAI;oBAClB,IAAI;EACF,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token constants.
|
|
3
|
+
*/
|
|
4
|
+
export const TOKEN = Object.freeze({
|
|
5
|
+
DEFAULT_BYTES: 32,
|
|
6
|
+
API_KEY_BYTES: 32,
|
|
7
|
+
SESSION_BYTES: 32,
|
|
8
|
+
REFRESH_BYTES: 48,
|
|
9
|
+
VERIFICATION_BYTES: 32,
|
|
10
|
+
PASSWORD_RESET_BYTES: 32,
|
|
11
|
+
CSRF_BYTES: 32,
|
|
12
|
+
OTP_DIGITS: 6,
|
|
13
|
+
OTP_MIN_DIGITS: 4,
|
|
14
|
+
OTP_MAX_DIGITS: 12,
|
|
15
|
+
});
|
|
16
|
+
/**
|
|
17
|
+
* Random value constraints.
|
|
18
|
+
*/
|
|
19
|
+
export const RANDOM = Object.freeze({
|
|
20
|
+
MIN_BYTES: 16,
|
|
21
|
+
DEFAULT_BYTES: 32,
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Common token prefixes.
|
|
25
|
+
*
|
|
26
|
+
* Prefixes make opaque credentials easier to identify during
|
|
27
|
+
* logging, debugging, and secret scanning without exposing
|
|
28
|
+
* their underlying value.
|
|
29
|
+
*/
|
|
30
|
+
export const TOKEN_PREFIX = Object.freeze({
|
|
31
|
+
API_KEY: "lat_",
|
|
32
|
+
SESSION: "sess_",
|
|
33
|
+
REFRESH: "ref_",
|
|
34
|
+
VERIFICATION: "verify_",
|
|
35
|
+
PASSWORD_RESET: "reset_",
|
|
36
|
+
CSRF: "csrf_",
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Cryptographic protocol versions.
|
|
40
|
+
*/
|
|
41
|
+
export const CRYPTO_VERSION = Object.freeze({
|
|
42
|
+
CURRENT: "v1",
|
|
43
|
+
PASSWORD_HASH: "v1",
|
|
44
|
+
ENCRYPTION_ENVELOPE: "v1",
|
|
45
|
+
TOKEN: "v1",
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=cryptoConstants.token.js.map
|