{"id":22276024,"url":"https://github.com/juliyvchirkov/nginxhtpasswd","last_synced_at":"2026-04-25T16:34:08.389Z","repository":{"id":143843299,"uuid":"70164544","full_name":"juliyvchirkov/nginxHtpasswd","owner":"juliyvchirkov","description":"turns username \u0026 password into SSHA secured hash pair for nginx auth_basic_user_file ","archived":false,"fork":false,"pushed_at":"2017-09-28T02:26:08.000Z","size":6,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T17:35:51.913Z","etag":null,"topics":["authentication","basic-authentication","generator","hash","htpasswd","http","nginx","ngx","password","password-hash","ssha"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/juliyvchirkov.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":"2016-10-06T14:59:08.000Z","updated_at":"2023-04-20T13:04:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"a8f37e8c-ec97-47b9-9626-d562f6a3f92c","html_url":"https://github.com/juliyvchirkov/nginxHtpasswd","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/juliyvchirkov/nginxHtpasswd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliyvchirkov%2FnginxHtpasswd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliyvchirkov%2FnginxHtpasswd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliyvchirkov%2FnginxHtpasswd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliyvchirkov%2FnginxHtpasswd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliyvchirkov","download_url":"https://codeload.github.com/juliyvchirkov/nginxHtpasswd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliyvchirkov%2FnginxHtpasswd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32269462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: 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":["authentication","basic-authentication","generator","hash","htpasswd","http","nginx","ngx","password","password-hash","ssha"],"created_at":"2024-12-03T14:13:11.958Z","updated_at":"2026-04-25T16:34:08.382Z","avatar_url":"https://github.com/juliyvchirkov.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ngx#genba\n\n### (i.e. engine X hashgen BA)\n\n\nkinda replica of **htpasswd** util from [apache httpd](https://httpd.apache.org/) toolset, ```ngx#genba``` inherits the basics of its prototype \u0026 offers similar\nworkflow to maintain the task. the thing is, ```ngx#genba``` is targeted at [nginx](https://nginx.org) w/ the goal to make web more secure \u0026 safe by providing\nsimple solution to obtain modern strong hashes based on actual crypto\nmethods for nginx [auth_basic](http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html) \u0026 to get rid of obsolete insecure oldies like\ncrypt, sha, md5 et cetera  \n\n#### engineXhashgenBA v0.08.1.7916.4.8\n\n\n\n```\n\nusage: ngx#genba ⌘ ngx#genba username ⌘ ngx#genba username password\n\n```\n\n\n\n\n```ngx#genba``` turns username \u0026 password passed by user into the hash pair for\n[auth_basic_user_file](http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic_user_file) in interactive, semi-interactive\nor non-interactive way. hash pairs are secured w/ **SSHA** (salted SSH-1; [strong,\ndurable \u0026 trustworthy scheme](https://goo.gl/CcksEm), widely used by **openldap**\n\u0026 **dovecot** on regular basics \u0026 recommended by nginx). hashes meet the guidlines\ndeclared at [sec 5.3 rfc2307](https://goo.gl/x4ZXmy)\n\n\n```\n\nngx#genba username password \u003e\u003e/etc/nginx/conf.d/vhosts/auth/.vhost14-userfile\n\n```\n\n\nusername \u0026 password are accepted either via **cl args** or from **stdin**. outcome is published to startdard **stdout** stream \u0026 copypaste phase may be omitted since\nthe result can be easily put directly to your auth_basic_user_file w/ pipes.\npassing both username \u0026 password via command line forces non-interactive mode\ni.e. any output to stdout except for the hash is suppressed\n\n\n```\n\nngx#genba stepansraka `cat /root/.webpwdplain | grep stepansraka | cut -d: -f2` \n\n```\n\n\nif you beleive no password should never be typed at cl nowai, you still can apply workaround like shown above to obtain batch processing while your passwords will stay safe away from cl\n\n**glory to Ukraine!**\n\nJuliy V. Chirkov,  \n[twitter.com/juliychirkov](https://twitter.com/juliychirkov)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliyvchirkov%2Fnginxhtpasswd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliyvchirkov%2Fnginxhtpasswd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliyvchirkov%2Fnginxhtpasswd/lists"}