国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python隨機生成信用卡卡號的實現方法

2020-02-23 01:12:40
字體:
來源:轉載
供稿:網友

本文實例講述了Python隨機生成信用卡卡號的實現方法。分享給大家供大家參考。具體分析如下:

這段Python代碼根據信用卡卡號產生規則隨機生成信用卡卡號,是可以通過驗證的,僅供學習參考,請不要用于非法用途,否則后果自負。

#!/usr/bin/python"""gencc: A simple program to generate credit card numbers that pass theMOD 10 check (Luhn formula).Usefull for testing e-commerce sites during development.Copyright 2003-2012 Graham KingThis program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"""# Different naming convention, because translated from PHP# pylint: disable=C0103from random import Randomimport copyvisaPrefixList = [    ['4', '5', '3', '9'],    ['4', '5', '5', '6'],    ['4', '9', '1', '6'],    ['4', '5', '3', '2'],    ['4', '9', '2', '9'],    ['4', '0', '2', '4', '0', '0', '7', '1'],    ['4', '4', '8', '6'],    ['4', '7', '1', '6'],    ['4']]mastercardPrefixList = [    ['5', '1'], ['5', '2'], ['5', '3'], ['5', '4'], ['5', '5']]amexPrefixList = [['3', '4'], ['3', '7']]discoverPrefixList = [['6', '0', '1', '1']]dinersPrefixList = [    ['3', '0', '0'],    ['3', '0', '1'],    ['3', '0', '2'],    ['3', '0', '3'],    ['3', '6'],    ['3', '8']]enRoutePrefixList = [['2', '0', '1', '4'], ['2', '1', '4', '9']]jcbPrefixList = [['3', '5']]voyagerPrefixList = [['8', '6', '9', '9']]def completed_number(prefix, length):  """  '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  """  ccnumber = prefix  # generate digits  while len(ccnumber) < (length - 1):    digit = str(generator.choice(range(0, 10)))    ccnumber.append(digit)  # Calculate sum  sum = 0  pos = 0  reversedCCnumber = []  reversedCCnumber.extend(ccnumber)  reversedCCnumber.reverse()  while pos < length - 1:    odd = int(reversedCCnumber[pos]) * 2    if odd > 9:      odd -= 9    sum += odd    if pos != (length - 2):      sum += int(reversedCCnumber[pos + 1])    pos += 2  # Calculate check digit  checkdigit = ((sum / 10 + 1) * 10 - sum) % 10  ccnumber.append(str(checkdigit))  return ''.join(ccnumber)def credit_card_number(rnd, prefixList, length, howMany):  result = []  while len(result) < howMany:    ccnumber = copy.copy(rnd.choice(prefixList))    result.append(completed_number(ccnumber, length))  return resultdef output(title, numbers):  result = []  result.append(title)  result.append('-' * len(title))  result.append('/n'.join(numbers))  result.append('')  return '/n'.join(result)## Main#generator = Random()generator.seed()    # Seed from current timeprint("darkcoding credit card generator/n")mastercard = credit_card_number(generator, mastercardPrefixList, 16, 10)print(output("Mastercard", mastercard))visa16 = credit_card_number(generator, visaPrefixList, 16, 10)print(output("VISA 16 digit", visa16))visa13 = credit_card_number(generator, visaPrefixList, 13, 5)print(output("VISA 13 digit", visa13))amex = credit_card_number(generator, amexPrefixList, 15, 5)print(output("American Express", amex))# Minor cardsdiscover = credit_card_number(generator, discoverPrefixList, 16, 3)print(output("Discover", discover))diners = credit_card_number(generator, dinersPrefixList, 14, 3)print(output("Diners Club / Carte Blanche", diners))enRoute = credit_card_number(generator, enRoutePrefixList, 15, 3)print(output("enRoute", enRoute))jcb = credit_card_number(generator, jcbPrefixList, 16, 3)print(output("JCB", jcb))voyager = credit_card_number(generator, voyagerPrefixList, 15, 3)print(output("Voyager", voyager))            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 班戈县| 南漳县| 肥东县| 南城县| 内乡县| 曲沃县| 祁门县| 弋阳县| 上林县| 健康| 洪雅县| 汾西县| 宣恩县| 岑溪市| 台南县| 改则县| 桑植县| 兴隆县| 辽宁省| 灵璧县| 封丘县| 安福县| 集贤县| 南开区| 青川县| 阳春市| 宜兴市| 威海市| 正安县| 铜陵市| 安化县| 南川市| 西吉县| 陇西县| 祁连县| 万盛区| 杨浦区| 西贡区| 宁陵县| 来凤县| 城步|