{"id":28210634,"url":"https://github.com/tonysamperi/krypto","last_synced_at":"2026-03-01T06:35:54.981Z","repository":{"id":282603554,"uuid":"948446182","full_name":"tonysamperi/krypto","owner":"tonysamperi","description":"Modern tree-shakeable TypeScript version of crypto-js","archived":false,"fork":false,"pushed_at":"2025-04-27T08:43:20.000Z","size":3553,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-12T17:22:03.929Z","etag":null,"topics":["crypto","crypto-js","crypto-ts","cryptography","typescript","typescript-library"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tonysamperi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-14T10:57:23.000Z","updated_at":"2025-04-27T08:43:22.000Z","dependencies_parsed_at":"2025-04-27T09:25:18.519Z","dependency_job_id":"0af0ed7b-56bf-4c3b-904e-99b2c54b3238","html_url":"https://github.com/tonysamperi/krypto","commit_stats":null,"previous_names":["tonysamperi/crypto"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tonysamperi/krypto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonysamperi%2Fkrypto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonysamperi%2Fkrypto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonysamperi%2Fkrypto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonysamperi%2Fkrypto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonysamperi","download_url":"https://codeload.github.com/tonysamperi/krypto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonysamperi%2Fkrypto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29962030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T05:59:08.471Z","status":"ssl_error","status_checked_at":"2026-03-01T05:58:04.208Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crypto","crypto-js","crypto-ts","cryptography","typescript","typescript-library"],"created_at":"2025-05-17T17:10:21.389Z","updated_at":"2026-03-01T06:35:54.953Z","avatar_url":"https://github.com/tonysamperi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Krypto\nTypeScript library of crypto standards, derived from [crypto-js](https://github.com/brix/crypto-js)\n\n[![MIT Licence][licence-image]][licence] \n[![NPM version][npm-version-image]][npm-url] \n[![Size][size-url]][size-unpkg-url]\n![PRs welcome][contributing-image]\n[![Build Status][gh-actions-image]][gh-actions-url]\n\nI've been using crypto-js, but it was recently discontinued.\nIt's not for that reason, but let's be honest: you always hated it for its typings.\nMan, seriously, a nightmare if you were in modern projects.\nI've been recently exploring ESM modules, so I've been making all of my libs **tree-shakeable**.\nCrypto-js is a not-so-tiny brick. CommonJS is ok, but there was just no way of not having those 200KBs in your bundles.\n\nWell **not anymore**!!!\n\nThe syntax is very similar to the one in crypto-js, except that now all the entities are classes, so it's even more versatile.\nLittle downside, big upside IMHO.\nThe downside is that I had to use other names for the helpers offered by crypto-js such as SHA1, SHA256, etc.\n\nNothing impossible in any case: how SHA1 is the hasher class (that you can optionally extend), while the helper is just called `sha1Helper`.\n\nIt's easy, isn't it?\n\n## You can import whatever you want from the root\n\n```js\nimport {sha256Helper, Utf8} from \"@tonysamperi/crypto\";\n\nconst myHash = sha256Helper(Utf8.parse(value)).toString();\n```\n\n## Preview releases\nWith v6 I introduced a new release tag `next`.\nThese versions are basically release candidates that can be tried out before they get released.\nThe next version tag gets cleared out automatically upon release of the latest stable version.\n\nThe beta releases instead, like it's always been, represent **unstable** releases, and they're subject to dramatic changes.\n\n## Features\n\nI started with a few features that I personally need, but I will migrate others once a while.\nOne that I have in mind is TripleDES.\n\n### ALGORITHMS (including helpers to simplify usage)\n\n* AES\n* DES\n* MD5\n* SHA1\n* SHA256\n* SHA512\n* TripleDES\n\n### KDF\n\n* pbkdf2\n* evpkdf\n\n### ENCODING\n\n* base64\n* hex\n* latin1\n* utf16\n* utf8\n\n### MODE\n\n* CBC\n* CTR\n* ECB\n\n### PADDING\n\n* nopadding\n* pkcs7\n* zeropadding\n\n## Usage\n\n### Via npm\n\n`npm i @tonysamperi/crypto --save`\n\nthen\n\n```typescript\nimport {Hex} from \"ts-luxon\";\n\nconst myWord = Hex.parse(\"1a2b3c\");\n```\n\n## THANKS TO\n\n[Evan Vosberg](https://github.com/brix) for creating and maintaining crypto-js\n\n# DOCS\n\nCOMING SOON\n\n---\n\n[//]: # (keep these ordered alphabetically)\n\n[contributing-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg\n\n[gh-actions-url]: https://github.com/tonysamperi/krypto/actions/workflows/test.yml/badge.svg\n[gh-actions-image]: https://github.com/tonysamperi/krypto/workflows/Test/badge.svg?branch=master\n\n[licence-image]: https://img.shields.io/badge/license-MIT-blue.svg\n[licence]: LICENCE\n\n[npm-url]: https://npmjs.org/package/@tonysamperi%3Dkrypto\n[npm-version-image]: https://badge.fury.io/js/@tonysamperi%3Dkrypto.svg\n\n[size-url]: https://img.shields.io/bundlephobia/minzip/@tonysamperi/krypto\n[size-unpkg-url]: https://unpkg.com/@tonysamperi/krypto@latest/dist/cjs/index.cjs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonysamperi%2Fkrypto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonysamperi%2Fkrypto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonysamperi%2Fkrypto/lists"}