{"id":20822098,"url":"https://github.com/andy-goryachev/passwordsafe","last_synced_at":"2025-07-22T02:31:48.391Z","repository":{"id":41264653,"uuid":"30781883","full_name":"andy-goryachev/PasswordSafe","owner":"andy-goryachev","description":"Cross platform password manager.","archived":false,"fork":false,"pushed_at":"2023-07-21T05:46:18.000Z","size":100180,"stargazers_count":18,"open_issues_count":4,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-07T16:52:09.439Z","etag":null,"topics":["argon2","bouncycastle","cross-platform","java","linux","password-manager","security","swing","xsalsa20","xsalsa20poly1305"],"latest_commit_sha":null,"homepage":"http://goryachev.com/products/password-safe/index.html","language":"Java","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/andy-goryachev.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,"zenodo":null}},"created_at":"2015-02-14T00:14:18.000Z","updated_at":"2024-12-18T15:00:21.000Z","dependencies_parsed_at":"2025-05-07T16:57:59.898Z","dependency_job_id":null,"html_url":"https://github.com/andy-goryachev/PasswordSafe","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/andy-goryachev/PasswordSafe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy-goryachev%2FPasswordSafe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy-goryachev%2FPasswordSafe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy-goryachev%2FPasswordSafe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy-goryachev%2FPasswordSafe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andy-goryachev","download_url":"https://codeload.github.com/andy-goryachev/PasswordSafe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy-goryachev%2FPasswordSafe/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266412300,"owners_count":23924481,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["argon2","bouncycastle","cross-platform","java","linux","password-manager","security","swing","xsalsa20","xsalsa20poly1305"],"created_at":"2024-11-17T22:13:57.173Z","updated_at":"2025-07-22T02:31:48.368Z","avatar_url":"https://github.com/andy-goryachev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Passwørd Safe\r\n\r\nA simple, secure password storage tool which allows you to keep all your passwords in one encrypted file.\r\nFor Windows, Mac, Linux, Solaris. \r\n\r\n![alt text](https://github.com/andy-goryachev/PasswordSafe/raw/master/screenshots/screenshot.png \"Screenshot\")\r\n\r\n\r\n### Why?\r\n\r\nThis application is inspired by Bruce Schneier's \u003ca href=\"http://passwordsafe.sourceforge.net/\"\u003ePassword Safe\u003c/a\u003e program.  \r\n\r\nAt first, I needed to have a cross-platform tool that I could run on Mac, Windows, and Linux.  \r\n\r\nThen I discovered that a SHA-256 hash of the stretched key in the original Password Safe file is provided in the clear.  The documentation explains that it \"is used to verify that the user has the correct passphrase\".  I am not so sure.  I don't know if the opposition has rainbow tables or specialized hardware to brute force 256 bit hashes, but it feels like a backdoor.  In any case, this goal that can be easily achieved in a more secure way by using, for instance, \u003ca href=\"http://en.wikipedia.org/wiki/Authenticated_encryption\"\u003eauthenticated encryption\u003c/a\u003e.\r\n\r\nEncrypted data file format: [EncryptionHandlerV4](src/goryachev/password/data/v4/EncryptionHandlerV4.java).  \r\nEncryption relies on a memory-safe [Bouncycastle](https://github.com/bcgit/bc-java) fork [MemSafeCrypto](https://github.com/andy-goryachev/MemSafeCrypto).\r\n\r\n\r\n### Software Requirements\r\n\r\nRequires Java 17+.\r\n\r\n\r\n### License\r\n\r\nThis project and its source code is licensed under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) and you should feel free to make adaptations of this work. Please see the included LICENSE file for further details.\r\n\r\n\r\n### Official Site\r\n\r\n\u003ca href='https://goryachev.com/products/password-safe/index.html'\u003egoryachev.com\u003c/a\u003e\r\n\r\n\r\n### Project Status\r\n\r\n[Release Notes](Release%20Notes.md)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandy-goryachev%2Fpasswordsafe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandy-goryachev%2Fpasswordsafe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandy-goryachev%2Fpasswordsafe/lists"}