{"id":18753096,"url":"https://github.com/zhixian001/jwt-cracker","last_synced_at":"2025-11-28T03:30:13.349Z","repository":{"id":42990233,"uuid":"473397897","full_name":"zhixian001/jwt-cracker","owner":"zhixian001","description":"HS256 JWT brute-force secret cracker in go, with some improvements in concurrent logic","archived":false,"fork":false,"pushed_at":"2022-04-01T17:56:35.000Z","size":11,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-29T00:16:17.990Z","etag":null,"topics":["brute-force","concurrency","cracker","go","golang","jwt"],"latest_commit_sha":null,"homepage":"","language":"Go","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/zhixian001.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}},"created_at":"2022-03-24T00:02:13.000Z","updated_at":"2023-11-09T06:38:41.000Z","dependencies_parsed_at":"2022-09-16T07:50:37.336Z","dependency_job_id":null,"html_url":"https://github.com/zhixian001/jwt-cracker","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhixian001%2Fjwt-cracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhixian001%2Fjwt-cracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhixian001%2Fjwt-cracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhixian001%2Fjwt-cracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhixian001","download_url":"https://codeload.github.com/zhixian001/jwt-cracker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239644116,"owners_count":19673577,"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":["brute-force","concurrency","cracker","go","golang","jwt"],"created_at":"2024-11-07T17:24:15.763Z","updated_at":"2025-11-28T03:30:13.303Z","avatar_url":"https://github.com/zhixian001.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jwt-cracker\n\nHS256 JWT brute-force secret cracker in go (inspired by [lmammino/go-jwt-cracker](https://github.com/alexrsagen/go-jwt-cracker)). I made some improvements to the concurrent brute force logic.\n\n## Dependencies\n\n\u003e This project uses cgo with these libraries to deal with multiple-precision number calculations.\n\n- [gmp](https://gmplib.org)\n- [mpfr](https://www.mpfr.org)\n\n## Build\n\n```bash\n$ go build\n\n$ # If pkg-config files are in other directories\n$ PKG_CONFIG_PATH=/path/to/lib/pkgconfig go build\n```\n\n## Usage\n\n```\nUsage of ./jwt-cracker:\n  -char string\n        Characters to generate secret texts during brute-force process. (default \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\")\n  -jobs int\n        Number of concurrent goroutines to crack jwt (default ?(value depends on number of cores or threads))\n  -maxlen int\n        Max length of the secret text during brute-force process (default 12)\n  -report-interval int\n        Running status report interval in seconds (default 10)\n  -token string\n        HS256 JWT token string to crack\n```\n\n## Example\n\nExample from [lmammino/go-jwt-cracker](https://github.com/alexrsagen/go-jwt-cracker)\n\n```bash\n$ ./jwt-cracker -token \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o\" -char \"abcdefghijklmnopqrstuwxyz\" -maxlen 6\n```\n\n### Output\n\n```\nParsed JWT:\n- Algorithm: HS256\n- Type: JWT\n- Payload: {\"sub\":\"1234567890\",\"name\":\"John Doe\",\"iat\":1516239022}\n- Signature (hex): 5db3df6c81cc23a6ab67763ddb60618d6810cd65dc5cdaf3d2882d5617c4776a\n\npartition: 0 // 1 startSecret: a // 25431315 endSecret: bobobo \npartition: 1 // 25431316 startSecret: bobobp // 50862630 endSecret: eeeeee \npartition: 2 // 50862631 startSecret: eeeeef // 76293945 endSecret: gtgtgt \npartition: 3 // 76293946 startSecret: gtgtgu // 101725260 endSecret: jjjjjj \npartition: 4 // 101725261 startSecret: jjjjjk // 127156575 endSecret: lzlzlz \npartition: 5 // 127156576 startSecret: lzlzma // 152587890 endSecret: oooooo \npartition: 6 // 152587891 startSecret: ooooop // 178019205 endSecret: rerere \npartition: 7 // 178019206 startSecret: rererf // 203450520 endSecret: tttttt \npartition: 8 // 203450521 startSecret: tttttu // 228881835 endSecret: xjxjxj \npartition: 9 // 228881836 startSecret: xjxjxk // 254313150 endSecret: zzzzzz \n\n(Partition: 0) Running: oqzsq / bobobo\n(Partition: 2) Running: etokqw / gtgtgt\n(Partition: 5) Running: mozici / oooooo\n(Partition: 3) Running: hjdgej / jjjjjj\n(Partition: 9) Running: yaikfu / zzzzzz\n(Partition: 7) Running: ruducm / tttttt\n(Partition: 1) Running: celzng / eeeeee\n(Partition: 8) Running: ukfidm / xjxjxj\n(Partition: 4) Running: jzuwee / lzlzlz\n(Partition: 6) Running: peglke / rerere\n\nFound Secret (in 16.015405 seconds): secret\n```\n\n### Time Spent\n\n- `Apple M1 Max (2 E Cores + 8 P Cores) @ 3.22 GHz`\n  - jobs: 10\n  - time taken: **15 ~ 20 seconds**\n- `Intel Xeon Gold 6142 (2 CPU, Total: 32 Cores 64 Threads) @ 3.7 GHz`\n  - jobs: 64\n  - time taken: **40 ~ 45 seconds**\n- `Intel Core i9-9900K (8 Cores 16 Threads) @ 5.0 GHz`\n  - jobs: 16\n  - time taken: **35 ~ 40 seconds**\n- `Intel Core i5-4690 (4 Corese 4 Threads) @ 3.9 GHz`\n  - jobs: 4\n  - time taken **215 ~ 220 seconds**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhixian001%2Fjwt-cracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhixian001%2Fjwt-cracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhixian001%2Fjwt-cracker/lists"}