Skip to content

Hafthor/ugenpass-swift

Repository files navigation

ugenpass-swift

Cryptographically derived passwords.

Available on the Mac App Store at https://apps.apple.com/us/app/ugenpass/id1572217310

Designed to be:

  • strong - uses PBKDF2
  • secure - no networking or storage
  • short - <60 lines of Swift
  • simple - only uses pbkdf2 crypto
  • understandable - see algorithm below

Algorithm is:

hash[hash[hash[password]+domain]+password] where hash is saltless pbkdf2 with 65536 rounds of sha256, then treating the result as a 32-byte big-endian unsigned integer and dividing the result, using the remainder to select characters from template, starting left to right.

Usage:

UGetPass.generate(password:"password", domain:"example.com")

returns dc2Cs!HL6WZ!mY3Pm(YI8If

ugenpass function parameters:

  • password - string
  • domain - string - normally just the base domain without www or similiar. Be sure to trim, normalize, lowercase before calling. EXAMPLE.COM is not the same as example.com

Default template has ~9.38E+32 combinations (~2^109)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages