Utils

Password

What is this?

This system is a simple way to never reuse a password, while also being able to recall any password from memory.

Programming a Password?

At a high level, your password algorithm will take an input name, like "paypal", and output the password for that service.

The programming model follows Reverse Polish Notation, so each segment of the program either adds, combines, or removes values from a list of values, operating on the top element(s) each time.

For example, if your algorithm is "name name name", and you input the name "service", you will end up with "serviceserviceservice". This wouldn't be a very secure password, so let's try adding some complexity.

Maybe start your password with a memorable phrase like "correct horse battery staple".

Then maybe add some uniqueness, like the first 3 consonants (name consonants 3 head).

You can also do things like take your birth year, and add the number of vowels - (1996 name vowels length add).

There's plenty of combinations to try! Just in case there's a time when you can't use this tool, make sure to remember the steps so you can calculate in your head.

Once you're happy with your setup, just bookmark the page and you can come back to it at any time to get your passwords.

Available Functions

  • consonants: Extracts the consonants from a string
  • vowels: Extracts the vowels from a string
  • lower: Converts a string to lowercase
  • upper: Converts a string to uppercase
  • join: Concatenates two strings together
  • length: Calculates the length of a string
  • trim: Removes leading and trailing whitespace from a string
  • repeat: Repeats a string a specified number of times
  • head: Extracts the first number of characters specified from the start of a string
  • slice: Extracts a portion of a string starting at the specified index
  • add: Adds the top two values
  • sub: Subtracts the top value from next value
  • swap: Swaps the positions of the top two values
  • over: Copies the second-to-top value on the stack and places it on top
  • dup: Duplicates the top value
  • drop: Removes the top value
  • and: Performs a logical "AND" operation on the top two values
  • or: Performs a logical "OR" operation on the top two values
  • not: Negates the top value
  • equal: Checks if the top two values are equal
  • tern: Evaluates a ternary expression by popping three values from the stack. If the first value is true, it returns the second value, otherwise it returns the third.

By default, any text that doesn't match a built-in function will be processed as a string. To avoid matching built-in functions, or to include spaces, you can wrap the text in quotes, like ("my text")

Edit

  • google
  • apple
  • paypal