dating and sex advice - Validating credit card number length
You are much much better off adding a variable salt to passwords before hashing (such as the username or other field that is dissimilar for every account).Double hashing is *worse* security than a regular hash.""" # do your stuff here We're missing the four consecutive digits.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
total_count = int(raw_input()) numbers_list =  #refernece list to check the starting series start_list = [4,5,6] for count in range(total_count): numbers_list.append(raw_input()) #condition 1, validates the starting series def val_start(num): if int(num) in start_list: return True else: return False #to check if individial elements of the list are of length=4 #4321-5555-67899-9991, splitted to ["4321","5555","67899","991"] which is invalid def val_group(num): for val in num.split("-"): if len(val) !
= 4: return False return True #condition 2, validates the length of the number def val_len(num): check = num check2 = True if "-" in num: check = "".join(num.split("-")) check2 = val_group(num) if ((len(check) == 16) and check2): return True else: return False #condition 3, validates if input consists only number def val_isdigit(num): if not num.isdigit(): for ch in num: if not (ch.isdigit() | (ch == "-")): return False return True #condition 4, validates the repetition of any number for 4 consective times def val_rep(num): res = "".join(num.split("-")) for i in range(len(res)): try: if (res[i] == res[i 1]): if (res[i 1] == res[i 2]): if (res[i 2] == res[i 3]): return False except Index Error: pass return True for num in numbers_list: #returns all the values into a list result = [val_start(num), val_len(num),val_isdigit(num), val_rep(num)] if False in result: print("Invalid") else: print("Valid") First of all, you should encapsulate your functionality in a function, unless you really want to use your code only once.
At the moment you would have to duplicate your code somewhat just to check a second credit card.
So instead let us write a function with a doc string: def is_valid_card_number(sequence): """Returns `True' if the sequence is a valid credit card number.
A library for validating credit card numbers and generating ones.
// colors $white: #fff; $light-grey: #eee; $grey: #777; $black: #222; $blue: #0079ff; $blue2: #2e85e2; //url $url_0: url( // Stlyes body h1 h2 form .cards .card-types // Credit to: Generated by Coffee Script 1.8.0 (function() )(); if (typeof module !
If they are only invalid four 4 character groups, we can simply check whether the current character import re PATTERN='^([0-9])-? A valid credit card number - must contain exactly 16 digits, - must start with a 4, 5 or 6 - must only consist of digits (0-9) or hyphens '-', - may have digits in groups of 4, separated by one hyphen "-".
""" match = re.match(PATTERN,sequence) if match == None: return False for group in match.groups: if group * 4 == group: return False return True If the repeated digits may also not span hyphens/groups it gets a little bit more complicated, but not too much. That being said: make sure to handle multiple numbers, not a single one.
That way you will be able to check your code easier. If it's a single use script, you probably don't have a need for a function.Tags: Adult Dating, affair dating, sex dating