'\'prefix\' is the start of the CC number as a string, any number of digits.
\'length\' is the length of the CC number to generate. Typically 13 or 16'

@classmethod
def _generate_number(cls, prefix, length):

    number = prefix
    number += (u'#' * ((length - len(prefix)) - 1))
    number = cls.numerify(number)
    reverse = number[::(-1)]
    tot = 0
    pos = 0
    while (pos < (length - 1)):
        tot += Provider.luhn_lookup[reverse[pos]]
        if (pos != (length - 2)):
            tot += int(reverse[(pos + 1)])
        pos += 2
    check_digit = ((10 - (tot % 10)) % 10)
    number += str(check_digit)
    return number
