香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

Python随机生成信用卡卡号的实现方法


时间:2021-12-08 14:45 作者:admin


本文实例讲述了python/' target='_blank'>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))

运行结果如下:

darkcoding credit card generatorMastercard----------5249241445603178547466213173976855815174504416615588253309068355551477494403007951228267495282875152966434002124526812798731229253856760741980875330181839518097VISA 16 digit-------------4539503803848378471697305284743645561499362603764486565514724761455630935497816044865604855911584916213564870669448670467169993445328391001931924486613519985266VISA 13 digit-------------49299055599734556870828321491686820021645561899160564024007171180American Express----------------376197656730660342421777432696342896016604918343458311286898374543958196088Discover--------601167618045669260112989535678766011699666196053Diners Club / Carte Blanche---------------------------300666433085833830231548185938251784096120enRoute-------214935400146170201435309964331201450317314858JCB---350664178014988035618568560657013508395818816022Voyager-------869984254736122869938197246102869921075232782

希望本文所述对大家的Python程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)