每天一个py小程序 001生成激活码
2015-03-12 19:33
806 查看
第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
程序主要分为两个部分,产生激活码,以及存入文件。
我们产生5组介于10000000~99999999之间的数字。并采用hashlib库中的md5加密 5组数字+当前的时间序列。
#coding=utf-8 """第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券), 使用 Python 如何生成 200 个激活码(或者优惠券)?""" import random import hashlib #set(['SHA1', 'SHA224', 'SHA', 'SHA384', 'ecdsa-with-SHA1', 'SHA256', 'SHA512', 'md4', 'md5', 'sha1', 'dsaWithSHA', 'DSA-SHA', 'sha224', 'dsaEncryption', 'DSA', 'ripemd160', 'sha', 'MD5', 'MD4', 'sha384', 'sha256', 'sha512', 'RIPEMD160', 'whirlpool']) import os import time def salt(): return "%s"*5 % tuple([random.randint(10000000,99999999) for i in range(5)]) def md5(str): m=hashlib.md5() m.update(str) return m.hexdigest() def main(): #print hashlib.algorithms_available res=[md5(salt() + str(time.time())) for i in range(200) ] path=os.path.split(os.path.realpath(__file__))[0]+"\\" #print path newpath=path+"res.txt" f=open(newpath,"w") for i in res: f.write(i+"\n") f.close() print "done" if __name__=='__main__': main()
程序主要分为两个部分,产生激活码,以及存入文件。
我们产生5组介于10000000~99999999之间的数字。并采用hashlib库中的md5加密 5组数字+当前的时间序列。
>>> help(hashlib.md5()) Help on HASH object: class HASH(__builtin__.object) | A hash represents the object used to calculate a checksum of a | string of information. | | Methods: | | update() -- updates the current digest with an additional string | digest() -- return the current digest value | hexdigest() -- return the current digest as a string of hexadecimal digits | copy() -- return a copy of the current hash object | | Attributes: | | name -- the hash algorithm being used by this object | digest_size -- number of bytes in this hashes output | | Methods defined here: | | __repr__(...) | x.__repr__() <==> repr(x) | | copy(...) | Return a copy of the hash object. | | digest(...) | Return the digest value as a string of binary data. | | hexdigest(...) | Return the digest value as a string of hexadecimal digits. | | update(...) | Update this hash object's state with the provided string. | | ---------------------------------------------------------------------- | Data descriptors defined here: | | block_size | | digest_size | | digestsize | | name | algorithm name.
相关文章推荐
- Python 练习册,每天一个小程序----------001使用 Python 如何生成多位随机数
- 每天一个小程序——第 0001 题:生成200个验证码
- 每天一个小程序—0010题(验证码生成)
- 动态生成与编译(三)----写一个面向过程的程序
- 生成一个双色球号码的小程序
- 一个生成COBOL测试数据的小程序——解释数据中的数据类型
- 每天一个小程序(9)——链队
- 写了一个能自定义并自动按照规则生成单据号码的程序及相关存储过程和表,及示范,附全部源代码!
- 每天一个java小程序-2
- 每天一个小程序(10)——直接插入排序
- ASP中一个很不错的四位数字验证码生成代码 - [ASP程序]
- 每天生成自动生成一个日志文件,文件名以每天的时间结尾
- Linux下安装pyinstaller用于将py文件打包生成一个可执行文件
- 每天一个python小程序 2使用python.MySQLdb执行数据库操作
- Python 练习冊,每天一个小程序
- 每天一个python小程序 007有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。
- [转]一个简单的生成随机手机/电话号码/身份证号/银行卡号/地址/电子邮件等的Oracle小程序
- 一个可以自动生成静态库,自动安装程序的Makefile
- ios开发如何批量打包?如何让同一个程序在一个手机上多次安装时不覆盖以前安装的,而是重新生成一个新的
- 一个标准数独游戏的题目生成和解题的程序