{"id":21619298,"url":"https://github.com/uzulla/sha256-resolver.php","last_synced_at":"2025-09-13T08:08:50.027Z","repository":{"id":54510987,"uuid":"338740492","full_name":"uzulla/sha256-resolver.php","owner":"uzulla","description":"This is just for fun.","archived":false,"fork":false,"pushed_at":"2021-02-20T10:25:51.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-02T19:42:24.640Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uzulla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-14T06:01:56.000Z","updated_at":"2021-02-20T10:25:53.000Z","dependencies_parsed_at":"2022-08-13T18:10:52.431Z","dependency_job_id":null,"html_url":"https://github.com/uzulla/sha256-resolver.php","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uzulla/sha256-resolver.php","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzulla%2Fsha256-resolver.php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzulla%2Fsha256-resolver.php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzulla%2Fsha256-resolver.php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzulla%2Fsha256-resolver.php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uzulla","download_url":"https://codeload.github.com/uzulla/sha256-resolver.php/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzulla%2Fsha256-resolver.php/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274935979,"owners_count":25376836,"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","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-24T23:08:34.177Z","updated_at":"2025-09-13T08:08:49.982Z","avatar_url":"https://github.com/uzulla.png","language":"PHP","readme":"# sha256 resolver\n\nこれは教育目的（あるいは暖房）のためのプログラムです。\n\nsha256のハッシュ値から、元の値（あるいはコリジョン値）を力技で求めます。\n\n「SHA256を『戻す』のは現実的ではない」＆「短い入力ではSHA256であっても無力」\n\n## requirement\n\nGMP and other, please see head of code.\n\n## how to use\n\n```\n# single(simple) version\n$ time php sha256_resolve.php fb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b85055620603\n# short(and invalid) version\n$ time php sha256_resolve_short.php fb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b85055620603\n# fork version\n$ time php sha256_resolve_fork.php fb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b85055620603 8\n# short fork version\n$ time php sha256_resolve_fork_short.php fb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b85055620603 8\n```\n\n\u003e These `short`(w/o gmp) version is fast than gmp version. but, max resolvable length of short version is 15chars. If you need more chars(ex:64 chars), avoid to use `short` version.\n\n\u003e (Ofcourse, the tool is toooooo000ooo slow. You will NOT to be reach PHP_INT_MAX in easyly.)\n\n## sample hash\n\n```\n$ php -a\nInteractive shell\n\nphp \u003e echo hash(\"sha256\", \"a\");\nca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nphp \u003e echo hash(\"sha256\", \"ab\");\nfb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b85055620603\nphp \u003e echo hash(\"sha256\", \"abc\");\nba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad\nphp \u003e echo hash(\"sha256\", \"abcd\");\n88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589\nphp \u003e echo hash(\"sha256\", \"abcde\");\n36bbe50ed96841d10443bcb670d6554f0a34b761be67ec9c4a8ad2c0c44ca42c\nphp \u003e echo hash(\"sha256\", \"abcdef\");\nbef57ec7f53a6d40beb640a780a639c83bc29ac8a9816f1fc6c5c6dcd93c4721\nphp \u003e echo hash(\"sha256\", \"abcdef1\");\nac9f830ae6cf2299ba293dd4cec3be0d87a88e6a8fbfe5015de6fffd11d79b6e\n```\n\n## sample result\n\n## fork version\n\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 + xdebug `a` =\u003e 0m0.102s\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 + xdebug `ab` =\u003e 0m0.108s\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 + xdebug `abc` =\u003e 0m0.124s\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 + xdebug `abcd` =\u003e 0m0.529s\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 + xdebug `abcde` =\u003e 0m7.334s\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 + xdebug `abcdef` =\u003e 0m3.159s\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 + xdebug `abcdef1` =\u003e 2m0.772s\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 + xdebug `abcdef1` =\u003e 2m0.772s\n- Mac mini 2018 (Core i7-8700B @ 3.20GHz) 16 worker. macOS catalina + PHP7.4.9 + xdebug `abcdef` =\u003e 0m3.685s\n- Mac mini 2018 (Core i7-8700B @ 3.20GHz) 16 worker. macOS catalina + PHP7.4.9 + xdebug `abcdef1` =\u003e 2m28.340s\n- Macbook Pro 2020 M1 8 worker. macOS Big Sur + PHP ([php-src:8ffc20](https://github.com/php/php-src/tree/8ffc20ace6c8a59b30aea53e2100aa26e4f1f3ee)) `abc` =\u003e 0m0.023s\n- Macbook Pro 2020 M1 8 worker. macOS Big Sur + PHP ([php-src:8ffc20](https://github.com/php/php-src/tree/8ffc20ace6c8a59b30aea53e2100aa26e4f1f3ee)) `abcd` =\u003e 0m0.067s\n- Macbook Pro 2020 M1 8 worker. macOS Big Sur + PHP ([php-src:8ffc20](https://github.com/php/php-src/tree/8ffc20ace6c8a59b30aea53e2100aa26e4f1f3ee)) `abcde` =\u003e 0m0.707s\n- Macbook Pro 2020 M1 8 worker. macOS Big Sur + PHP ([php-src:8ffc20](https://github.com/php/php-src/tree/8ffc20ace6c8a59b30aea53e2100aa26e4f1f3ee)) `abcdef` =\u003e 0m1.795s\n- Macbook Pro 2020 M1 8 worker. macOS Big Sur + PHP ([php-src:8ffc20](https://github.com/php/php-src/tree/8ffc20ace6c8a59b30aea53e2100aa26e4f1f3ee)) `abcdef1` =\u003e 0m25.928s\n\n## fork short(w/o gmp)\n\n- Thinkpad X13 (AMD Ryzen 7 PRO 4750U) 16 worker. Linux + PHP 8.0.2 `abcdef1` =\u003e 0m13.845s\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuzulla%2Fsha256-resolver.php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuzulla%2Fsha256-resolver.php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuzulla%2Fsha256-resolver.php/lists"}