CreateCheckDigit() 공개 정적인 메소드

public static CreateCheckDigit ( string number ) : string
number string
리턴 string
        public static string RandomCardNumber(CardIssuer cardIssuer, int length)
        {
            var rules = ValidationHelper.GetRulesByLength(cardIssuer, length);

            if (length > 0 && rules.Count == 0)
            {
                throw new ArgumentException($"The card number length [{length}] is not valid for the card issuer [{cardIssuer}].");
            }

            string number = "";

            var rule = rules.Count == 0 ? CreditCardData.BrandsData[cardIssuer].Rules.First() : rules.First();

            length = length > 0 ? length : rule.Lengths.First();

            number += rule.Prefixes[RandomNumber.Value.Next(0, rule.Prefixes.Count)];

            var numberLength = number.Length;

            for (int i = 0; i < length - 1 - numberLength; i++)
            {
                number += RandomNumber.Value.Next(0, 10);
            }

            number += Luhn.CreateCheckDigit(number);

            return(number);
        }
예제 #2
0
        public static string RandomCardNumber(CardIssuer brand, int length = 0)
        {
            if (length > 0 && !ValidationHelper.IsAValidLength(brand, length))
            {
                throw new ArgumentException(String.Format("{0} is not valid length for card issuer {1}", length, brand));
            }

            string number = "";

            var rule = CreditCardData.BrandsData[brand].Rules.First();

            length = length > 0 ? length : rule.Lengths.First();

            if (brand != CardIssuer.Unknown)
            {
                number += rule.Prefixes[RandomNumber.Next(0, rule.Prefixes.Count)];
            }

            var numberLength = number.Length;

            for (int i = 0; i < length - 1 - numberLength; i++)
            {
                number += RandomNumber.Next(0, 10);
            }

            number += Luhn.CreateCheckDigit(number);

            return(number);
        }
        public static string RandomCardNumber(CardIssuer brand)
        {
            string number = "";
            var    rule   = CreditCardData.BrandsData[brand].Rules.First();

            if (brand != CardIssuer.Unknown)
            {
                number += rule.Prefixes[RandomNumber.Next(0, rule.Prefixes.Count)];
            }

            var numberLength = number.Length;

            for (int i = 0; i < rule.Lengths.First() - 1 - numberLength; i++)
            {
                number += RandomNumber.Next(0, 10);
            }

            number += Luhn.CreateCheckDigit(number);

            return(number);
        }