Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>EDIT: I assume you want to keep track of your previous passwords versions - say, for a script that would prevent password reusing etc.</strong></p> <p>I think GnuPG is the best way to go - it's already used in one git-related project (git-annex) to encrypt repository contents stored on cloud services. GnuPG (gnu pgp) provides a <em>very</em> strong key-based encryption.</p> <ol> <li>You keep a key on your local machine.</li> <li>You add 'mypassword' to ignored files.</li> <li>On pre-commit hook you encrypt the mypassword file into the mypassword.gpg file tracked by git and add it to the commit.</li> <li>On post-merge hook you just decrypt mypassword.gpg into mypassword.</li> </ol> <p>Now if your 'mypassword' file did not change then encrypting it will result with same ciphertext and it won't be added to the index (no redundancy). Slightest modification of mypassword results in radically different ciphertext and mypassword.gpg in staging area differs a lot from the one in repository, thus will be added to the commit. Even if the attacker gets a hold of your gpg key he still needs to bruteforce the password. If the attacker gets an access to remote repository with ciphertext he can compare a bunch of ciphertexts, but their number won't be sufficient to give him any non-negligible advantage.</p> <p>Later on you can use .gitattributes to provide an on-the-fly decryption for quit git diff of your password.</p> <p>Also you can have separate keys for different types of passwords etc.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload