Python简单密码加密程序,加盐(salt)md5

[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.     salt = ''  
  13.     chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'  
  14.     len_chars = len(chars) - 1  
  15.     random = Random()  
  16.     for i in xrange(length):  
  17.         # 每次从chars中随机取一位  
  18.         salt += chars[random.randint(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当然也不一样):

[python]  view plain  copy
 
  1. [pwd]  
  2. 20141124  
  3. [salt]  
  4. Ecm6  
  5. [md5]  
  6. dbe8860d0e7092e45a60f186e0bd4111  

猜你喜欢

转载自www.cnblogs.com/xc1234/p/9155889.html
今日推荐