There are multiple ways to generate a very secure password, but I only found a small set of those is also user friendly. Meaning there are no ambiguous characters such as i, l, 1, o, 0, etc. The best version I found so far is the following: public function generateStrongPassword(