[python] view plain copy
1. # -------------------------------------------
2. # Python简单密码加密程序
3. # 随机生成4位salt,与原始密码组合,通过md5加密
4. # Author : Lrg
5. # -------------------------------------------
6. # encoding = utf-8
7. from random import Random
8. from hashlib import md5
9.
10. # 获取由4位随机大小写字母、数字组成的salt值
11. def create_salt(length = 4):
12. ''
13. 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'
14. 1
15. random = Random()
16. for i in xrange(length):
17. # 每次从chars中随机取一位
18. 0, len_chars)]
19. return salt
20.
21. # 获取原始密码+salt的md5值
22. def create_md5(pwd,salt):
23. md5_obj = md5()
24. md5_obj.update(pwd + salt)
25. return md5_obj.hexdigest()
26.
27. # 原始密码
28. pwd = '20141124'
29. # 随机生成4位salt
30. salt = create_salt()
31. # 加密后的密码
32. md5 = create_md5(pwd, salt)
33.
34. print '[pwd]\n',pwd
35. print '[salt]\n', salt
36. print '[md5]\n', md5
效果如下(由于salt每次随机取,MD5当然也不一样):
1. [pwd]
2. 20141124
3. [salt]
4. Ecm6
5. [md5]
6. dbe8860d0e7092e45a60f186e0bd4111
7.