zoukankan      html  css  js  c++  java
  • 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] ',pwd  
    35. print '[salt] ', salt  
    36. print '[md5] ', md5  

    效果如下(由于salt每次随机取,MD5当然也不一样):

    [python] view plain copy
     
    1. [pwd]  
    2. 20141124  
    3. [salt]  
    4. Ecm6  
    5. [md5]  
    6. dbe8860d0e7092e45a60f186e0bd4111  
  • 相关阅读:
    项目架构工具选择
    idea 引入本地jar包
    java 二维/三维/多维数组
    Windows 远程连接
    SQL SERVER 本地同步数据到远程数据服务器
    利用sp_addlinkedserver实现远程数据库链接
    ORACLE 手动添加时间分区
    ORACLE 时间段
    shiro异常简述
    kvm虚拟机克隆
  • 原文地址:https://www.cnblogs.com/xc1234/p/9155889.html
Copyright © 2011-2022 走看看