{"id":20215062,"url":"https://github.com/maks11060/crypto","last_synced_at":"2026-06-03T22:31:31.567Z","repository":{"id":234814395,"uuid":"789552993","full_name":"MAKS11060/crypto","owner":"MAKS11060","description":"WebCrypto keys utilities. Generate/export/import keys","archived":false,"fork":false,"pushed_at":"2025-02-21T09:48:55.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T10:36:12.381Z","etag":null,"topics":["ed25519","elepticcurve","typescript","webcrypto"],"latest_commit_sha":null,"homepage":"https://jsr.io/@maks11060/crypto","language":"TypeScript","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/MAKS11060.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-04-20T21:50:29.000Z","updated_at":"2025-02-21T09:47:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"973cfb32-5aa1-44b6-a200-bffd99ca42c2","html_url":"https://github.com/MAKS11060/crypto","commit_stats":null,"previous_names":["maks11060/crypto"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MAKS11060%2Fcrypto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MAKS11060%2Fcrypto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MAKS11060%2Fcrypto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MAKS11060%2Fcrypto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MAKS11060","download_url":"https://codeload.github.com/MAKS11060/crypto/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241652965,"owners_count":19997578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ed25519","elepticcurve","typescript","webcrypto"],"created_at":"2024-11-14T06:19:32.061Z","updated_at":"2025-11-30T00:01:37.620Z","avatar_url":"https://github.com/MAKS11060.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebCrypto Key Utilities\n\n[![JSR](https://jsr.io/badges/@maks11060/crypto)](https://jsr.io/@maks11060/crypto)\n[![CI](https://github.com/MAKS11060/crypto/actions/workflows/ci.yml/badge.svg)](https://github.com/MAKS11060/crypto/actions/workflows/ci.yml)\n\nA lightweight library for working with WebCrypto keys: generate, import, export, and convert cryptographic keys and key\npairs in various formats.\n\n## Features\n\n- Generate cryptographic key pairs for modern algorithms\n- Import and export keys and key pairs in `hex`, `raw`, and `jwk` formats\n- Convert between supported formats\n- Supports `Ed25519`, `X25519`, `P-256`, `P-384`, `P-521`, and `RSASSA-PKCS1-v1_5`\n\n## Install\n\n```ts\n// deno add jsr:@maks11060/crypto\nimport {generateKeyPair} from '@maks11060/crypto'\n\n// or\nimport {generateKeyPair} from 'jsr:@maks11060/crypto'\n```\n\n## Usage\n\n```ts\nimport {exportKey, generateKeyPair, importKey, importKeyPair} from '@maks11060/crypto'\n\nconst keys = await generateKeyPair('Ed25519')\nkeys.privateKey // CryptoKey\nkeys.publicKey // CryptoKey\n\n// export key pair\nconst {privateKey, publicKey} = await exportKey('hex', keys)\nconsole.log(privateKey) // e6cc65db53dcdce37d095c5bd792a5114e8ca575190979dfaea1afa6da1daef9\nconsole.log(publicKey) // b504196a380c1dcb0526c88df4f947b8d8e32f3e7a5ac57d852f439fc4fc80bc\n\n// export single key\nconst privateKey_2 = await exportKey('hex', keys.privateKey)\nconst publicKey_2 = await exportKey('hex', keys.publicKey)\nconsole.log(privateKey_2) // e6cc65db53dcdce37d095c5bd792a5114e8ca575190979dfaea1afa6da1daef9\nconsole.log(publicKey_2) // b504196a380c1dcb0526c88df4f947b8d8e32f3e7a5ac57d852f439fc4fc80bc\n\n// import private key\nawait importKey('hex', {alg: 'Ed25519', publicKey, privateKey})\n\n// import public key\nawait importKey('hex', {alg: 'Ed25519', publicKey})\n\n// import key pair\nawait importKeyPair('hex', {alg: 'Ed25519', publicKey, privateKey})\n```\n\n### Import / Export\n\n|      Algorithm      |    exportKey(format)     |    importKey(format)     |\n| :-----------------: | :----------------------: | :----------------------: |\n|      `Ed25519`      |   `raw`, `hex`, `jwk`    |   `raw`, `hex`, `jwk`    |\n|      `X25519`       |   `raw`, `hex`, `jwk`    |   `raw`, `hex`, `jwk`    |\n|  `P-256`, `ES256`   |   `raw`, `hex`, `jwk`    |   `raw`, `hex`, `jwk`    |\n|  `P-384`, `ES384`   |   `raw`, `hex`, `jwk`    |   `raw`, `hex`, `jwk`    |\n|  `P-521`, `ES512`   | [^1] `raw`, `hex`, `jwk` | [^1] `raw`, `hex`, `jwk` |\n|                     |                          |                          |\n| `RSASSA-PKCS1-v1_5` |          `jwk`           |          `jwk`           |\n|      `RSA-PSS`      |          `jwk`           |          `jwk`           |\n\n### generateKeyPair\n\n|    Algorithm     | generateKeyPair(alg) |\n| :--------------: | :------------------: |\n|    `Ed25519`     |          ✔           |\n|     `X25519`     |          ✔           |\n| `P-256`, `ES256` |          ✔           |\n| `P-384`, `ES384` |          ✔           |\n| `P-521`, `ES512` |          ✔           |\n\n[^1]: Deno is not supported\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaks11060%2Fcrypto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaks11060%2Fcrypto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaks11060%2Fcrypto/lists"}