@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.
Files changed (428) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/compare/compare.helper.d.ts +8 -0
  5. package/dist/compare/compare.helper.d.ts.map +1 -0
  6. package/dist/compare/compare.helper.js +17 -0
  7. package/dist/compare/compare.helper.js.map +1 -0
  8. package/dist/compare/index.d.ts +7 -0
  9. package/dist/compare/index.d.ts.map +1 -0
  10. package/dist/compare/index.js +7 -0
  11. package/dist/compare/index.js.map +1 -0
  12. package/dist/cryptoAlgorithm/index.d.ts +8 -0
  13. package/dist/cryptoAlgorithm/index.d.ts.map +1 -0
  14. package/dist/cryptoAlgorithm/index.js +8 -0
  15. package/dist/cryptoAlgorithm/index.js.map +1 -0
  16. package/dist/cryptoCipher/cryptoCipher.core.d.ts +25 -0
  17. package/dist/cryptoCipher/cryptoCipher.core.d.ts.map +1 -0
  18. package/dist/cryptoCipher/cryptoCipher.core.js +35 -0
  19. package/dist/cryptoCipher/cryptoCipher.core.js.map +1 -0
  20. package/dist/cryptoCipher/cryptoCipher.envelope.d.ts +16 -0
  21. package/dist/cryptoCipher/cryptoCipher.envelope.d.ts.map +1 -0
  22. package/dist/cryptoCipher/cryptoCipher.envelope.js +50 -0
  23. package/dist/cryptoCipher/cryptoCipher.envelope.js.map +1 -0
  24. package/dist/cryptoCipher/cryptoCipher.string.d.ts +10 -0
  25. package/dist/cryptoCipher/cryptoCipher.string.d.ts.map +1 -0
  26. package/dist/cryptoCipher/cryptoCipher.string.js +15 -0
  27. package/dist/cryptoCipher/cryptoCipher.string.js.map +1 -0
  28. package/dist/cryptoCipher/index.d.ts +9 -0
  29. package/dist/cryptoCipher/index.d.ts.map +1 -0
  30. package/dist/cryptoCipher/index.js +9 -0
  31. package/dist/cryptoCipher/index.js.map +1 -0
  32. package/dist/cryptoConstants/cryptoConstants.config.d.ts +36 -0
  33. package/dist/cryptoConstants/cryptoConstants.config.d.ts.map +1 -0
  34. package/dist/cryptoConstants/cryptoConstants.config.js +29 -0
  35. package/dist/cryptoConstants/cryptoConstants.config.js.map +1 -0
  36. package/dist/cryptoConstants/cryptoConstants.guard.d.ts +28 -0
  37. package/dist/cryptoConstants/cryptoConstants.guard.d.ts.map +1 -0
  38. package/dist/cryptoConstants/cryptoConstants.guard.js +45 -0
  39. package/dist/cryptoConstants/cryptoConstants.guard.js.map +1 -0
  40. package/dist/cryptoConstants/cryptoConstants.security.d.ts +41 -0
  41. package/dist/cryptoConstants/cryptoConstants.security.d.ts.map +1 -0
  42. package/dist/cryptoConstants/cryptoConstants.security.js +42 -0
  43. package/dist/cryptoConstants/cryptoConstants.security.js.map +1 -0
  44. package/dist/cryptoConstants/cryptoConstants.token.d.ts +47 -0
  45. package/dist/cryptoConstants/cryptoConstants.token.d.ts.map +1 -0
  46. package/dist/cryptoConstants/cryptoConstants.token.js +47 -0
  47. package/dist/cryptoConstants/cryptoConstants.token.js.map +1 -0
  48. package/dist/cryptoConstants/cryptoConstants.type.d.ts +95 -0
  49. package/dist/cryptoConstants/cryptoConstants.type.d.ts.map +1 -0
  50. package/dist/cryptoConstants/cryptoConstants.type.js +116 -0
  51. package/dist/cryptoConstants/cryptoConstants.type.js.map +1 -0
  52. package/dist/cryptoConstants/index.d.ts +11 -0
  53. package/dist/cryptoConstants/index.d.ts.map +1 -0
  54. package/dist/cryptoConstants/index.js +11 -0
  55. package/dist/cryptoConstants/index.js.map +1 -0
  56. package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts +9 -0
  57. package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts.map +1 -0
  58. package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js +19 -0
  59. package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js.map +1 -0
  60. package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts +8 -0
  61. package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts.map +1 -0
  62. package/dist/cryptoEncoding/cryptoEncoding.compare.js +16 -0
  63. package/dist/cryptoEncoding/cryptoEncoding.compare.js.map +1 -0
  64. package/dist/cryptoEncoding/cryptoEncoding.core.d.ts +21 -0
  65. package/dist/cryptoEncoding/cryptoEncoding.core.d.ts.map +1 -0
  66. package/dist/cryptoEncoding/cryptoEncoding.core.js +63 -0
  67. package/dist/cryptoEncoding/cryptoEncoding.core.js.map +1 -0
  68. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts +13 -0
  69. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts.map +1 -0
  70. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js +35 -0
  71. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js.map +1 -0
  72. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts +13 -0
  73. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts.map +1 -0
  74. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js +40 -0
  75. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js.map +1 -0
  76. package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts +13 -0
  77. package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts.map +1 -0
  78. package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js +31 -0
  79. package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js.map +1 -0
  80. package/dist/cryptoEncoding/encoding/index.d.ts +9 -0
  81. package/dist/cryptoEncoding/encoding/index.d.ts.map +1 -0
  82. package/dist/cryptoEncoding/encoding/index.js +9 -0
  83. package/dist/cryptoEncoding/encoding/index.js.map +1 -0
  84. package/dist/cryptoEncoding/index.d.ts +12 -0
  85. package/dist/cryptoEncoding/index.d.ts.map +1 -0
  86. package/dist/cryptoEncoding/index.js +12 -0
  87. package/dist/cryptoEncoding/index.js.map +1 -0
  88. package/dist/cryptoErrors/index.d.ts +11 -0
  89. package/dist/cryptoErrors/index.d.ts.map +1 -0
  90. package/dist/cryptoErrors/index.js +10 -0
  91. package/dist/cryptoErrors/index.js.map +1 -0
  92. package/dist/cryptoFactory/cryptoFactory.core.d.ts +60 -0
  93. package/dist/cryptoFactory/cryptoFactory.core.d.ts.map +1 -0
  94. package/dist/cryptoFactory/cryptoFactory.core.js +105 -0
  95. package/dist/cryptoFactory/cryptoFactory.core.js.map +1 -0
  96. package/dist/cryptoFactory/cryptoFactory.encoding.d.ts +5 -0
  97. package/dist/cryptoFactory/cryptoFactory.encoding.d.ts.map +1 -0
  98. package/dist/cryptoFactory/cryptoFactory.encoding.js +8 -0
  99. package/dist/cryptoFactory/cryptoFactory.encoding.js.map +1 -0
  100. package/dist/cryptoFactory/cryptoFactory.options.d.ts +2 -0
  101. package/dist/cryptoFactory/cryptoFactory.options.d.ts.map +1 -0
  102. package/dist/cryptoFactory/cryptoFactory.options.js +6 -0
  103. package/dist/cryptoFactory/cryptoFactory.options.js.map +1 -0
  104. package/dist/cryptoFactory/cryptoFactory.password.d.ts +5 -0
  105. package/dist/cryptoFactory/cryptoFactory.password.d.ts.map +1 -0
  106. package/dist/cryptoFactory/cryptoFactory.password.js +8 -0
  107. package/dist/cryptoFactory/cryptoFactory.password.js.map +1 -0
  108. package/dist/cryptoFactory/cryptoFactory.token.d.ts +10 -0
  109. package/dist/cryptoFactory/cryptoFactory.token.d.ts.map +1 -0
  110. package/dist/cryptoFactory/cryptoFactory.token.js +30 -0
  111. package/dist/cryptoFactory/cryptoFactory.token.js.map +1 -0
  112. package/dist/cryptoFactory/index.d.ts +7 -0
  113. package/dist/cryptoFactory/index.d.ts.map +1 -0
  114. package/dist/cryptoFactory/index.js +7 -0
  115. package/dist/cryptoFactory/index.js.map +1 -0
  116. package/dist/cryptoHash/cryptoHash.codec.d.ts +10 -0
  117. package/dist/cryptoHash/cryptoHash.codec.d.ts.map +1 -0
  118. package/dist/cryptoHash/cryptoHash.codec.js +39 -0
  119. package/dist/cryptoHash/cryptoHash.codec.js.map +1 -0
  120. package/dist/cryptoHash/cryptoHash.compare.d.ts +5 -0
  121. package/dist/cryptoHash/cryptoHash.compare.d.ts.map +1 -0
  122. package/dist/cryptoHash/cryptoHash.compare.js +14 -0
  123. package/dist/cryptoHash/cryptoHash.compare.js.map +1 -0
  124. package/dist/cryptoHash/cryptoHash.convenience.d.ts +26 -0
  125. package/dist/cryptoHash/cryptoHash.convenience.d.ts.map +1 -0
  126. package/dist/cryptoHash/cryptoHash.convenience.js +56 -0
  127. package/dist/cryptoHash/cryptoHash.convenience.js.map +1 -0
  128. package/dist/cryptoHash/cryptoHash.core.d.ts +19 -0
  129. package/dist/cryptoHash/cryptoHash.core.d.ts.map +1 -0
  130. package/dist/cryptoHash/cryptoHash.core.js +17 -0
  131. package/dist/cryptoHash/cryptoHash.core.js.map +1 -0
  132. package/dist/cryptoHash/cryptoHmac.core.d.ts +19 -0
  133. package/dist/cryptoHash/cryptoHmac.core.d.ts.map +1 -0
  134. package/dist/cryptoHash/cryptoHmac.core.js +29 -0
  135. package/dist/cryptoHash/cryptoHmac.core.js.map +1 -0
  136. package/dist/cryptoHash/index.d.ts +11 -0
  137. package/dist/cryptoHash/index.d.ts.map +1 -0
  138. package/dist/cryptoHash/index.js +11 -0
  139. package/dist/cryptoHash/index.js.map +1 -0
  140. package/dist/cryptoKey/cryptoKey.factory.d.ts +21 -0
  141. package/dist/cryptoKey/cryptoKey.factory.d.ts.map +1 -0
  142. package/dist/cryptoKey/cryptoKey.factory.js +72 -0
  143. package/dist/cryptoKey/cryptoKey.factory.js.map +1 -0
  144. package/dist/cryptoKey/cryptoKey.type.d.ts +44 -0
  145. package/dist/cryptoKey/cryptoKey.type.d.ts.map +1 -0
  146. package/dist/cryptoKey/cryptoKey.type.js +32 -0
  147. package/dist/cryptoKey/cryptoKey.type.js.map +1 -0
  148. package/dist/cryptoKey/cryptoKey.utils.d.ts +13 -0
  149. package/dist/cryptoKey/cryptoKey.utils.d.ts.map +1 -0
  150. package/dist/cryptoKey/cryptoKey.utils.js +18 -0
  151. package/dist/cryptoKey/cryptoKey.utils.js.map +1 -0
  152. package/dist/cryptoKey/index.d.ts +9 -0
  153. package/dist/cryptoKey/index.d.ts.map +1 -0
  154. package/dist/cryptoKey/index.js +9 -0
  155. package/dist/cryptoKey/index.js.map +1 -0
  156. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts +16 -0
  157. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts.map +1 -0
  158. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js +76 -0
  159. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js.map +1 -0
  160. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts +5 -0
  161. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts.map +1 -0
  162. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js +12 -0
  163. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js.map +1 -0
  164. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts +23 -0
  165. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts.map +1 -0
  166. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js +2 -0
  167. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js.map +1 -0
  168. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts +9 -0
  169. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts.map +1 -0
  170. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js +35 -0
  171. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js.map +1 -0
  172. package/dist/cryptoKeyDerivation/index.d.ts +10 -0
  173. package/dist/cryptoKeyDerivation/index.d.ts.map +1 -0
  174. package/dist/cryptoKeyDerivation/index.js +10 -0
  175. package/dist/cryptoKeyDerivation/index.js.map +1 -0
  176. package/dist/cryptoPassword/cryptoPassword.codec.d.ts +14 -0
  177. package/dist/cryptoPassword/cryptoPassword.codec.d.ts.map +1 -0
  178. package/dist/cryptoPassword/cryptoPassword.codec.js +87 -0
  179. package/dist/cryptoPassword/cryptoPassword.codec.js.map +1 -0
  180. package/dist/cryptoPassword/cryptoPassword.core.d.ts +10 -0
  181. package/dist/cryptoPassword/cryptoPassword.core.d.ts.map +1 -0
  182. package/dist/cryptoPassword/cryptoPassword.core.js +59 -0
  183. package/dist/cryptoPassword/cryptoPassword.core.js.map +1 -0
  184. package/dist/cryptoPassword/cryptoPassword.helper.d.ts +14 -0
  185. package/dist/cryptoPassword/cryptoPassword.helper.d.ts.map +1 -0
  186. package/dist/cryptoPassword/cryptoPassword.helper.js +33 -0
  187. package/dist/cryptoPassword/cryptoPassword.helper.js.map +1 -0
  188. package/dist/cryptoPassword/cryptoPassword.type.d.ts +37 -0
  189. package/dist/cryptoPassword/cryptoPassword.type.d.ts.map +1 -0
  190. package/dist/cryptoPassword/cryptoPassword.type.js +2 -0
  191. package/dist/cryptoPassword/cryptoPassword.type.js.map +1 -0
  192. package/dist/cryptoPassword/cryptoPassword.validate.d.ts +23 -0
  193. package/dist/cryptoPassword/cryptoPassword.validate.d.ts.map +1 -0
  194. package/dist/cryptoPassword/cryptoPassword.validate.js +60 -0
  195. package/dist/cryptoPassword/cryptoPassword.validate.js.map +1 -0
  196. package/dist/cryptoPassword/index.d.ts +11 -0
  197. package/dist/cryptoPassword/index.d.ts.map +1 -0
  198. package/dist/cryptoPassword/index.js +11 -0
  199. package/dist/cryptoPassword/index.js.map +1 -0
  200. package/dist/cryptoProvider/cryptoProvider.core.d.ts +10 -0
  201. package/dist/cryptoProvider/cryptoProvider.core.d.ts.map +1 -0
  202. package/dist/cryptoProvider/cryptoProvider.core.js +2 -0
  203. package/dist/cryptoProvider/cryptoProvider.core.js.map +1 -0
  204. package/dist/cryptoProvider/cryptoProvider.interface.d.ts +91 -0
  205. package/dist/cryptoProvider/cryptoProvider.interface.d.ts.map +1 -0
  206. package/dist/cryptoProvider/cryptoProvider.interface.js +2 -0
  207. package/dist/cryptoProvider/cryptoProvider.interface.js.map +1 -0
  208. package/dist/cryptoProvider/cryptoProvider.type.d.ts +41 -0
  209. package/dist/cryptoProvider/cryptoProvider.type.d.ts.map +1 -0
  210. package/dist/cryptoProvider/cryptoProvider.type.js +2 -0
  211. package/dist/cryptoProvider/cryptoProvider.type.js.map +1 -0
  212. package/dist/cryptoProvider/index.d.ts +12 -0
  213. package/dist/cryptoProvider/index.d.ts.map +1 -0
  214. package/dist/cryptoProvider/index.js +2 -0
  215. package/dist/cryptoProvider/index.js.map +1 -0
  216. package/dist/cryptoProvider/types/cryptoCipher.type.d.ts +28 -0
  217. package/dist/cryptoProvider/types/cryptoCipher.type.d.ts.map +1 -0
  218. package/dist/cryptoProvider/types/cryptoCipher.type.js +2 -0
  219. package/dist/cryptoProvider/types/cryptoCipher.type.js.map +1 -0
  220. package/dist/cryptoProvider/types/cryptoHash.type.d.ts +14 -0
  221. package/dist/cryptoProvider/types/cryptoHash.type.d.ts.map +1 -0
  222. package/dist/cryptoProvider/types/cryptoHash.type.js +2 -0
  223. package/dist/cryptoProvider/types/cryptoHash.type.js.map +1 -0
  224. package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts +22 -0
  225. package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts.map +1 -0
  226. package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js +2 -0
  227. package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js.map +1 -0
  228. package/dist/cryptoProvider/types/cryptoRandom.type.d.ts +9 -0
  229. package/dist/cryptoProvider/types/cryptoRandom.type.d.ts.map +1 -0
  230. package/dist/cryptoProvider/types/cryptoRandom.type.js +2 -0
  231. package/dist/cryptoProvider/types/cryptoRandom.type.js.map +1 -0
  232. package/dist/cryptoProvider/types/cryptoSignature.type.d.ts +19 -0
  233. package/dist/cryptoProvider/types/cryptoSignature.type.d.ts.map +1 -0
  234. package/dist/cryptoProvider/types/cryptoSignature.type.js +2 -0
  235. package/dist/cryptoProvider/types/cryptoSignature.type.js.map +1 -0
  236. package/dist/cryptoProvider/types/index.d.ts +12 -0
  237. package/dist/cryptoProvider/types/index.d.ts.map +1 -0
  238. package/dist/cryptoProvider/types/index.js +8 -0
  239. package/dist/cryptoProvider/types/index.js.map +1 -0
  240. package/dist/cryptoRandom/cryptoRandom.choice.d.ts +14 -0
  241. package/dist/cryptoRandom/cryptoRandom.choice.d.ts.map +1 -0
  242. package/dist/cryptoRandom/cryptoRandom.choice.js +30 -0
  243. package/dist/cryptoRandom/cryptoRandom.choice.js.map +1 -0
  244. package/dist/cryptoRandom/cryptoRandom.core.d.ts +21 -0
  245. package/dist/cryptoRandom/cryptoRandom.core.d.ts.map +1 -0
  246. package/dist/cryptoRandom/cryptoRandom.core.js +31 -0
  247. package/dist/cryptoRandom/cryptoRandom.core.js.map +1 -0
  248. package/dist/cryptoRandom/cryptoRandom.string.d.ts +35 -0
  249. package/dist/cryptoRandom/cryptoRandom.string.d.ts.map +1 -0
  250. package/dist/cryptoRandom/cryptoRandom.string.js +74 -0
  251. package/dist/cryptoRandom/cryptoRandom.string.js.map +1 -0
  252. package/dist/cryptoRandom/index.d.ts +9 -0
  253. package/dist/cryptoRandom/index.d.ts.map +1 -0
  254. package/dist/cryptoRandom/index.js +9 -0
  255. package/dist/cryptoRandom/index.js.map +1 -0
  256. package/dist/cryptoService/cryptoService.core.d.ts +46 -0
  257. package/dist/cryptoService/cryptoService.core.d.ts.map +1 -0
  258. package/dist/cryptoService/cryptoService.core.js +101 -0
  259. package/dist/cryptoService/cryptoService.core.js.map +1 -0
  260. package/dist/cryptoService/cryptoService.derivation.d.ts +6 -0
  261. package/dist/cryptoService/cryptoService.derivation.d.ts.map +1 -0
  262. package/dist/cryptoService/cryptoService.derivation.js +12 -0
  263. package/dist/cryptoService/cryptoService.derivation.js.map +1 -0
  264. package/dist/cryptoService/cryptoService.encoding.d.ts +5 -0
  265. package/dist/cryptoService/cryptoService.encoding.d.ts.map +1 -0
  266. package/dist/cryptoService/cryptoService.encoding.js +19 -0
  267. package/dist/cryptoService/cryptoService.encoding.js.map +1 -0
  268. package/dist/cryptoService/index.d.ts +11 -0
  269. package/dist/cryptoService/index.d.ts.map +1 -0
  270. package/dist/cryptoService/index.js +11 -0
  271. package/dist/cryptoService/index.js.map +1 -0
  272. package/dist/cryptoService/operations/cryptoService.cipher.d.ts +5 -0
  273. package/dist/cryptoService/operations/cryptoService.cipher.d.ts.map +1 -0
  274. package/dist/cryptoService/operations/cryptoService.cipher.js +19 -0
  275. package/dist/cryptoService/operations/cryptoService.cipher.js.map +1 -0
  276. package/dist/cryptoService/operations/cryptoService.hash.d.ts +3 -0
  277. package/dist/cryptoService/operations/cryptoService.hash.d.ts.map +1 -0
  278. package/dist/cryptoService/operations/cryptoService.hash.js +16 -0
  279. package/dist/cryptoService/operations/cryptoService.hash.js.map +1 -0
  280. package/dist/cryptoService/operations/cryptoService.password.d.ts +5 -0
  281. package/dist/cryptoService/operations/cryptoService.password.d.ts.map +1 -0
  282. package/dist/cryptoService/operations/cryptoService.password.js +19 -0
  283. package/dist/cryptoService/operations/cryptoService.password.js.map +1 -0
  284. package/dist/cryptoService/operations/cryptoService.token.d.ts +7 -0
  285. package/dist/cryptoService/operations/cryptoService.token.d.ts.map +1 -0
  286. package/dist/cryptoService/operations/cryptoService.token.js +36 -0
  287. package/dist/cryptoService/operations/cryptoService.token.js.map +1 -0
  288. package/dist/cryptoService/operations/index.d.ts +11 -0
  289. package/dist/cryptoService/operations/index.d.ts.map +1 -0
  290. package/dist/cryptoService/operations/index.js +11 -0
  291. package/dist/cryptoService/operations/index.js.map +1 -0
  292. package/dist/cryptoSignature/cryptoSignature.core.d.ts +25 -0
  293. package/dist/cryptoSignature/cryptoSignature.core.d.ts.map +1 -0
  294. package/dist/cryptoSignature/cryptoSignature.core.js +36 -0
  295. package/dist/cryptoSignature/cryptoSignature.core.js.map +1 -0
  296. package/dist/cryptoSignature/index.d.ts +7 -0
  297. package/dist/cryptoSignature/index.d.ts.map +1 -0
  298. package/dist/cryptoSignature/index.js +7 -0
  299. package/dist/cryptoSignature/index.js.map +1 -0
  300. package/dist/cryptoToken/cryptoToken.core.d.ts +55 -0
  301. package/dist/cryptoToken/cryptoToken.core.d.ts.map +1 -0
  302. package/dist/cryptoToken/cryptoToken.core.js +90 -0
  303. package/dist/cryptoToken/cryptoToken.core.js.map +1 -0
  304. package/dist/cryptoToken/cryptoToken.hash.d.ts +24 -0
  305. package/dist/cryptoToken/cryptoToken.hash.d.ts.map +1 -0
  306. package/dist/cryptoToken/cryptoToken.hash.js +82 -0
  307. package/dist/cryptoToken/cryptoToken.hash.js.map +1 -0
  308. package/dist/cryptoToken/cryptoToken.utils.d.ts +13 -0
  309. package/dist/cryptoToken/cryptoToken.utils.d.ts.map +1 -0
  310. package/dist/cryptoToken/cryptoToken.utils.js +30 -0
  311. package/dist/cryptoToken/cryptoToken.utils.js.map +1 -0
  312. package/dist/cryptoToken/index.d.ts +9 -0
  313. package/dist/cryptoToken/index.d.ts.map +1 -0
  314. package/dist/cryptoToken/index.js +9 -0
  315. package/dist/cryptoToken/index.js.map +1 -0
  316. package/dist/cryptoUtils/cryptoUtils.compare.d.ts +11 -0
  317. package/dist/cryptoUtils/cryptoUtils.compare.d.ts.map +1 -0
  318. package/dist/cryptoUtils/cryptoUtils.compare.js +27 -0
  319. package/dist/cryptoUtils/cryptoUtils.compare.js.map +1 -0
  320. package/dist/cryptoUtils/cryptoUtils.conversion.d.ts +25 -0
  321. package/dist/cryptoUtils/cryptoUtils.conversion.d.ts.map +1 -0
  322. package/dist/cryptoUtils/cryptoUtils.conversion.js +50 -0
  323. package/dist/cryptoUtils/cryptoUtils.conversion.js.map +1 -0
  324. package/dist/cryptoUtils/cryptoUtils.number.d.ts +9 -0
  325. package/dist/cryptoUtils/cryptoUtils.number.d.ts.map +1 -0
  326. package/dist/cryptoUtils/cryptoUtils.number.js +35 -0
  327. package/dist/cryptoUtils/cryptoUtils.number.js.map +1 -0
  328. package/dist/cryptoUtils/cryptoUtils.text.d.ts +13 -0
  329. package/dist/cryptoUtils/cryptoUtils.text.d.ts.map +1 -0
  330. package/dist/cryptoUtils/cryptoUtils.text.js +23 -0
  331. package/dist/cryptoUtils/cryptoUtils.text.js.map +1 -0
  332. package/dist/cryptoUtils/cryptoUtils.validation.d.ts +17 -0
  333. package/dist/cryptoUtils/cryptoUtils.validation.d.ts.map +1 -0
  334. package/dist/cryptoUtils/cryptoUtils.validation.js +29 -0
  335. package/dist/cryptoUtils/cryptoUtils.validation.js.map +1 -0
  336. package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts +9 -0
  337. package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts.map +1 -0
  338. package/dist/cryptoUtils/encoding/cryptoUtils.base64.js +28 -0
  339. package/dist/cryptoUtils/encoding/cryptoUtils.base64.js.map +1 -0
  340. package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts +9 -0
  341. package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts.map +1 -0
  342. package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js +37 -0
  343. package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js.map +1 -0
  344. package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts +9 -0
  345. package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts.map +1 -0
  346. package/dist/cryptoUtils/encoding/cryptoUtils.hex.js +25 -0
  347. package/dist/cryptoUtils/encoding/cryptoUtils.hex.js.map +1 -0
  348. package/dist/cryptoUtils/encoding/index.d.ts +10 -0
  349. package/dist/cryptoUtils/encoding/index.d.ts.map +1 -0
  350. package/dist/cryptoUtils/encoding/index.js +10 -0
  351. package/dist/cryptoUtils/encoding/index.js.map +1 -0
  352. package/dist/cryptoUtils/index.d.ts +13 -0
  353. package/dist/cryptoUtils/index.d.ts.map +1 -0
  354. package/dist/cryptoUtils/index.js +13 -0
  355. package/dist/cryptoUtils/index.js.map +1 -0
  356. package/dist/index.d.ts +26 -0
  357. package/dist/index.d.ts.map +1 -0
  358. package/dist/index.js +26 -0
  359. package/dist/index.js.map +1 -0
  360. package/dist/node/index.d.ts +8 -0
  361. package/dist/node/index.d.ts.map +1 -0
  362. package/dist/node/index.js +8 -0
  363. package/dist/node/index.js.map +1 -0
  364. package/dist/node/nodeCryptoProvider/index.d.ts +14 -0
  365. package/dist/node/nodeCryptoProvider/index.d.ts.map +1 -0
  366. package/dist/node/nodeCryptoProvider/index.js +14 -0
  367. package/dist/node/nodeCryptoProvider/index.js.map +1 -0
  368. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts +42 -0
  369. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts.map +1 -0
  370. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js +56 -0
  371. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js.map +1 -0
  372. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts +3 -0
  373. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts.map +1 -0
  374. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js +5 -0
  375. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js.map +1 -0
  376. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts +8 -0
  377. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts.map +1 -0
  378. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js +55 -0
  379. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js.map +1 -0
  380. package/dist/node/nodeCryptoProvider/operations/index.d.ts +8 -0
  381. package/dist/node/nodeCryptoProvider/operations/index.d.ts.map +1 -0
  382. package/dist/node/nodeCryptoProvider/operations/index.js +8 -0
  383. package/dist/node/nodeCryptoProvider/operations/index.js.map +1 -0
  384. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts +3 -0
  385. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts.map +1 -0
  386. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js +45 -0
  387. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js.map +1 -0
  388. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts +12 -0
  389. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts.map +1 -0
  390. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js +94 -0
  391. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js.map +1 -0
  392. package/dist/node/nodeCryptoProvider/primitives/index.d.ts +10 -0
  393. package/dist/node/nodeCryptoProvider/primitives/index.d.ts.map +1 -0
  394. package/dist/node/nodeCryptoProvider/primitives/index.js +10 -0
  395. package/dist/node/nodeCryptoProvider/primitives/index.js.map +1 -0
  396. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts +13 -0
  397. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts.map +1 -0
  398. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js +35 -0
  399. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js.map +1 -0
  400. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts +4 -0
  401. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts.map +1 -0
  402. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js +16 -0
  403. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js.map +1 -0
  404. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts +4 -0
  405. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts.map +1 -0
  406. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js +39 -0
  407. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js.map +1 -0
  408. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts +13 -0
  409. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts.map +1 -0
  410. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js +29 -0
  411. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js.map +1 -0
  412. package/dist/node/signing/index.d.ts +9 -0
  413. package/dist/node/signing/index.d.ts.map +1 -0
  414. package/dist/node/signing/index.js +9 -0
  415. package/dist/node/signing/index.js.map +1 -0
  416. package/dist/node/signing/signing.conversion.d.ts +9 -0
  417. package/dist/node/signing/signing.conversion.d.ts.map +1 -0
  418. package/dist/node/signing/signing.conversion.js +51 -0
  419. package/dist/node/signing/signing.conversion.js.map +1 -0
  420. package/dist/node/signing/signing.core.d.ts +21 -0
  421. package/dist/node/signing/signing.core.d.ts.map +1 -0
  422. package/dist/node/signing/signing.core.js +45 -0
  423. package/dist/node/signing/signing.core.js.map +1 -0
  424. package/dist/node/signing/signing.utils.d.ts +15 -0
  425. package/dist/node/signing/signing.utils.d.ts.map +1 -0
  426. package/dist/node/signing/signing.utils.js +41 -0
  427. package/dist/node/signing/signing.utils.js.map +1 -0
  428. 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,2 @@
1
+ export declare function serviceGetOptions<T extends object>(options: T): Readonly<T>;
2
+ //# sourceMappingURL=cryptoFactory.options.d.ts.map
@@ -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,6 @@
1
+ export function serviceGetOptions(options) {
2
+ return Object.freeze({
3
+ ...options,
4
+ });
5
+ }
6
+ //# sourceMappingURL=cryptoFactory.options.js.map
@@ -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,7 @@
1
+ /**
2
+ * @zudojs/crypto/cryptoFactory
3
+ *
4
+ * Factory functions for crypto primitives.
5
+ */
6
+ export * from "./cryptoFactory.core.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -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,7 @@
1
+ /**
2
+ * @zudojs/crypto/cryptoFactory
3
+ *
4
+ * Factory functions for crypto primitives.
5
+ */
6
+ export * from "./cryptoFactory.core.js";
7
+ //# sourceMappingURL=index.js.map
@@ -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,5 @@
1
+ /**
2
+ * Performs a constant-time comparison of two digest strings.
3
+ */
4
+ export declare function equalDigests(left: Uint8Array, right: Uint8Array): boolean;
5
+ //# sourceMappingURL=cryptoHash.compare.d.ts.map
@@ -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"}