密码生成脚本

这是在网上看到一个很好用的的工具,原网页在 http://flowerpassword.com/

使用方法也可以在该网页上了解。

这里使用Python实现了一下,一方面是学习生成密码,一方面也是备份。

#!/usr/bin/env python
# -*- coding:utf8 -*-
import hmac
import sys

string1 = "snow"
string2 = "kise"
string3 = "sunlovesnow1990090127xykab"
str = ""

def huami(password, key):
	print "记忆密码 : "+ password + " 区分代码 : "+ key
	md5one = hmac.new(key, password).hexdigest()
	md5two = hmac.new(string1, md5one).hexdigest()
	md5three = hmac.new(string2, md5one).hexdigest()

	rule = [md5three[i] for i in range(0, 32)]
	source = [md5two[i] for i in range(0, 32)]
	
	for i in range(0,32):
		if string3.find(rule[i]) > -1:
			source[i] = source[i].upper()
	
	code32 = str.join(source[i] for i in range(0,32))
	code1 = code32[0:1]
	if code1.isdigit:
		code16 = "K"+str.join(source[i] for i in range(1,16))
	elif code1.isalpha:
		code16 = str.join(source[i] for i in range(0,16))

	print "16位密码:   "+code16
	print "32位密码: "+str.join(source[i] for i in range(0,32))
	
if __name__ == "__main__":
	arg1 = raw_input("请输入你的记忆密码: ")
	arg2 = raw_input("请输入你的区分代码: ")
	
	key = arg1
	password = arg2
	huami(key, password)

结果如下,与原网页生成结果一致。

~>python huami.py
请输入你的记忆密码: abc
请输入你的区分代码: 123
记忆密码 : abc 区分代码 : 123
16位密码:  Ka1ecD6B0307215a
32位密码: 5a1ecD6B0307215aC4477030358A384B

 

当然,根据记忆密码+区分密码的方式,很容易定制自己的专属密码(增加更多符号,变量),记忆也比较简单。

最后,再声明一次,原网页在http://flowerpassword.com/

纯属学习

posted @ 2016-01-15 17:16  金色夏季  阅读(268)  评论(0)    收藏  举报