{"id":25534376,"url":"https://github.com/oglinuk/sbh","last_synced_at":"2025-10-13T05:37:17.092Z","repository":{"id":57642410,"uuid":"324640730","full_name":"oglinuk/sbh","owner":"oglinuk","description":"A stateless password manager.","archived":false,"fork":false,"pushed_at":"2022-03-12T16:19:01.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T09:48:57.332Z","etag":null,"topics":["cryptography","go","hash","password","password-manager","security"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oglinuk.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":"2020-12-26T21:50:13.000Z","updated_at":"2022-01-07T03:10:01.000Z","dependencies_parsed_at":"2022-08-27T22:03:42.282Z","dependency_job_id":null,"html_url":"https://github.com/oglinuk/sbh","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fsbh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fsbh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fsbh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fsbh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oglinuk","download_url":"https://codeload.github.com/oglinuk/sbh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239768930,"owners_count":19693764,"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":["cryptography","go","hash","password","password-manager","security"],"created_at":"2025-02-20T03:19:15.083Z","updated_at":"2025-10-13T05:37:12.059Z","avatar_url":"https://github.com/oglinuk.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SecurityBaeHash\n\n## Why\n\nPasswords are the most vital part of everyday life. Any individual can\nhave numerous accounts across various applications, and each of those\naccounts has an associated password. Unfortunately as the number of\naccounts/passwords grows, people tend to re-use passwords. There are existing\nsolutions in the form of password managers, like keypassxc or lastpass, but\neven those require an account/password. The issue that I have with password\nmanagers is if the master key is compromised, then the attackers have the keys\nto the kingdom.\n\nSecurity Before anything else Hash (SBH) is a ***stateless password\nmanager***, meaning it doesnt retain any information. It doesnt require\nan account, doesnt store any passwords, and it never will. A password\nonly exists when its retrieved, and the same password can only be\nretrieved with the exact same inputs. No keys and no kingdom.\n\n---\n\n## How it Works\n\nSBH is a combination of two things: [caesar\ncipher](https://en.wikipedia.org/wiki/Caesar_cipher) and a [hash\nfunction](https://en.wikipedia.org/wiki/Cryptographic_hash_function). It\ntakes three inputs: plaintext, a number of rotations, and a seed. SBH\nthen generates a hash based on the result of applying X psuedo-randomly\ngenerated rotations (0 \u003c n \u003c 9223372036854775807) to the plaintext, where\nX is the specified number of rotations. The resulting hash is then used\nas the password.\n\n---\n\n## Examples\n\nSee the [examples](examples) directory.\n\nFor a publicly available web version please visit\n\u003chttps://sbhpass.herokuapp.com\u003e.\n\n---\n\n## Todo\n* [X] Add different hashing algorithm options\n* [X] Add ability to add symbols and/or capitalize letters\n* [ ] Add different cipher options\n* [ ] Change letter capitalization\n* [ ] Change where symbols are appended based on seed\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foglinuk%2Fsbh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foglinuk%2Fsbh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foglinuk%2Fsbh/lists"}