[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.