private function hasReq($generated)
  {
    if (in_array(str_split('0123456789'), array_values(str_split($generated)))) {
      $generated = str_shuffle($generated .= 1);
    }

    if (in_array(str_split('abcdefghijklmnopqrstuvwxyz'), array_values(str_split($generated)))) {
      $generated = str_shuffle($generated .= 'b');
    }

    if (in_array(str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZ'), array_values(str_split($generated)))) {
      $generated = str_shuffle($generated .= 'B');
    }

    if (in_array(str_split('~!@#$%^&*()_-=+<>/\?;:{}[]|,.'), array_values(str_split($generated)))) {
      $generated = str_shuffle($generated .= '!');
    }

    return $generated;
  }