extraPos = startingSize;
// Add the extras
+ // Capital letter
next = (extraPos < extraSize) ? hash[extraPos] : 0;
extraPos++;
if (!contains(result, startingSize, 'A', 'Z')) {
result[startingSize] = next;
startingSize++;
+ // Lower case letter
next = (extraPos < extraSize) ? hash[extraPos] : 0;
extraPos++;
if (!contains(result, startingSize, 'a', 'z')) {
result[startingSize] = next;
startingSize++;
+ // Number
next = (extraPos < extraSize) ? hash[extraPos] : 0;
extraPos++;
if (!contains(result, startingSize, '0', '9')) {
result[startingSize] = next;
startingSize++;
+ // Non alphanumeric
if (containsnonalphanumeric(result, startingSize) && nonalphanumeric) {
next = (extraPos < extraSize) ? hash[extraPos] : 0;
extraPos++;