{"id":23647035,"url":"https://github.com/supercaracal/scram-sha-256","last_synced_at":"2025-06-11T01:08:19.488Z","repository":{"id":144343112,"uuid":"380424969","full_name":"supercaracal/scram-sha-256","owner":"supercaracal","description":"Password-encryption tool for PostgreSQL with scram-sha-256","archived":false,"fork":false,"pushed_at":"2025-05-13T06:00:55.000Z","size":174,"stargazers_count":69,"open_issues_count":1,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-13T07:19:20.022Z","etag":null,"topics":["postgresql","scram-sha-256"],"latest_commit_sha":null,"homepage":"https://supercaracal.github.io/scram-sha-256/","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/supercaracal.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":"2021-06-26T05:50:32.000Z","updated_at":"2025-05-13T06:00:59.000Z","dependencies_parsed_at":"2024-02-09T23:31:31.652Z","dependency_job_id":"1a6d052c-ba9e-47e7-91e4-ee136c75d967","html_url":"https://github.com/supercaracal/scram-sha-256","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/supercaracal%2Fscram-sha-256","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supercaracal%2Fscram-sha-256/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supercaracal%2Fscram-sha-256/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supercaracal%2Fscram-sha-256/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supercaracal","download_url":"https://codeload.github.com/supercaracal/scram-sha-256/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supercaracal%2Fscram-sha-256/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259178497,"owners_count":22817387,"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":["postgresql","scram-sha-256"],"created_at":"2024-12-28T13:49:02.918Z","updated_at":"2025-06-11T01:08:19.477Z","avatar_url":"https://github.com/supercaracal.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/supercaracal/scram-sha-256)\n![Test](https://github.com/supercaracal/scram-sha-256/actions/workflows/test.yaml/badge.svg?branch=master)\n![Release](https://github.com/supercaracal/scram-sha-256/actions/workflows/release.yaml/badge.svg)\n\nscram-sha-256\n===============================================================================\n\nThis is a password-encryption tool for PostgreSQL with [scram-sha-256](https://www.postgresql.org/docs/current/auth-password.html).\nYou can encrypt your raw password by the command-line tool or the [GitHub Pages](https://supercaracal.github.io/scram-sha-256/).\n\n## Installation\nPlease download an executable file from [release pages](https://github.com/supercaracal/scram-sha-256/releases).\n\n## Usage\n```\n$ scram-sha-256\nRaw password:\nSCRAM-SHA-256$4096:Wj5Wd30IrYzvZxJJ5NSuNg==$27HbcXbdKQd55FvzhEFq8DpPKQBRCvcnOOYFJ07Fr7s=:CibjLDWHtzbFjhSejBWcRkRGmuB2njOC8GxDh3gSwrE=\n```\n\n```\n$ scram-sha-256 mysecret\nSCRAM-SHA-256$4096:1Iuyc2XTVSv/GFgCWSv9Xw==$nU96dFyIuV+uWwiOly7HU5yinIJh55GsItyFAYrU2sc=:fEC668A2ufIsGS+9WC8xqD0hHvHQBbLiDxZ8hWlwkCw=\n```\n\n```\n$ echo -n mysecret | scram-sha-256\nSCRAM-SHA-256$4096:67e60Pre+3h6dhUm+K2tWA==$MRZtokLiZoWqNLf05HKH7STvtAtWEOy1CZU+vg9hj/M=:jzbp7PPDFT8aBPuFk91KBO2HswNJrvMMuMkUgR1LClI=\n```\n\n```\n$ echo mysecret | scram-sha-256\nSCRAM-SHA-256$4096:wvtRpXoTijsOR2py/yjIjQ==$iQV2GGKBAnN3v339hDOSZWxbl7YH8I3ERh+RCHjOqGQ=:Ea9Pyj4/IR53wmdCISCIOsSINUirJzz6EzD0NJqa05M=\n```\n\n```go\nimport \"github.com/supercaracal/scram-sha-256/pkg/pgpasswd\"\n\nfunc doSomething(rawPassword []byte) error {\n    encrypted, err := pgpasswd.Encrypt(rawPassword)\n    if err != nil {\n        return err\n    }\n\n    // do something\n    return nil\n}\n```\n\n## Build locally\n```\n$ git clone https://github.com/supercaracal/scram-sha-256.git\n$ cd scram-sha-256/\n$ make term\n$ ./cmd/term/encrypt\nRaw password:\nSCRAM-SHA-256$4096:Mg8UNqSaPstxvBVRVYPQTw==$Zl7Rhln+rus3z+4YwC+7CgL/uKSUvqWH8mHMUizh1EI=:G9dSawW20CNLxTnZdcwHEHg9U9hG2noNEV2/t7ptq3s=\n```\n\n## Testing\n```\n$ docker run --rm --name=test -e POSTGRES_PASSWORD=postgres -e POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256 -e PGUSER=postgres postgres\n```\n\n```\n$ docker exec -it test bash -c 'cat | psql'\n## type the following SQL\nCREATE ROLE test WITH LOGIN PASSWORD 'SCRAM-SHA-256$4096:Mg8UNqSaPstxvBVRVYPQTw==$Zl7Rhln+rus3z+4YwC+7CgL/uKSUvqWH8mHMUizh1EI=:G9dSawW20CNLxTnZdcwHEHg9U9hG2noNEV2/t7ptq3s='\n## press Ctrl-D\nCREATE ROLE\n```\n\n```\n$ docker exec -it test psql -c 'SELECT usename, passwd FROM pg_catalog.pg_shadow'\n usename  |                                                                passwd                                                                 \n----------+---------------------------------------------------------------------------------------------------------------------------------------\n postgres | SCRAM-SHA-256$4096:N+t+PZUQAu25roNaMJiQIw==$MNmcJjqjLwfWBTvKq2zRCWSWPFQX6KnDqqyrqA1XU5g=:jL3qX7jzS4wSP1rOmEbbmLReYL98WeKukK8SfLcdpvU= \n test     | SCRAM-SHA-256$4096:Mg8UNqSaPstxvBVRVYPQTw==$Zl7Rhln+rus3z+4YwC+7CgL/uKSUvqWH8mHMUizh1EI=:G9dSawW20CNLxTnZdcwHEHg9U9hG2noNEV2/t7ptq3s= \n(2 rows)\n```\n\n```\n$ docker exec -it test psql -h 127.0.0.1 -U test -W -d postgres -c 'SELECT 1'\nPassword:\n ?column?\n----------\n        1\n(1 row)\n```\n\n```\n$ docker stop test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupercaracal%2Fscram-sha-256","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupercaracal%2Fscram-sha-256","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupercaracal%2Fscram-sha-256/lists"}