The function to generate passwords should generate `strong` passwords by default. A `strong` password is defined as one having a mix of - upper and lower case alphabets - at least one number [0-9] - at least one upper case alphabet [A-Z] - at least one punctuation character - at least length 12