Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Domain Hash Password Generator (DOH) generates perfect passwords that are unique to each domain, and are guaranteed to be accepted by the domain. The algorithm does not save any state, so any computer you use can generate your passwords with information from your head -- without any syncing. Here is the algorithm in a nutshell: 1. User enters salt (username, name, or something memorable but unique), master password, and domain, and an optional sequence number. 2. Compute PBKDF2 of (sequence + salt + domain + master password) and output in base64. 3. Based on a domain specification (shipped with program or provided by user), translate standard base64 to a new base64 with characters from the required character set for given domain. 4. Search result for password that meets all requirements set in the domain spec. 5. If password cannot be found, rotate a bit and search again. 6. If password cannot be found after 5 rotations, rehash and search again. The expected number of characters needed to fulfill typical password requirements is 10 characters. Determining each domain's expected number of minimum characters to meet requirements can be done using the coupon collectors problem. Copyright (c) 2012 Jake Willoughby This file is part of DOH. DOH is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. DOH is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with DOH. See gpl3.txt. If not, see <http://www.gnu.org/licenses/>.