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

摘要:
[python]viewplaincopy#--------------------------------------------#python简单密码加密程序#随机生成4位盐,与原始密码组合并由md5加密#作者:Lrg#--------------------------------------------#编码=utf-8fromrandomimportRandommf
[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  

免责声明:文章转载自《Python简单密码加密程序,加盐(salt)md5》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇el-table的动态合并行和列Oracle实例解析:编码与字符集下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

加密算法

常用的加密算法总体可以分为两类:单项加密和双向加密,双向加密又分为对称加密和非对称加密,因此主要分析下面三种加密算法: 对称加密算法、非对称加密算法和单项加密算法(Hash算法)。 1、对称加密算法(AES、DES、3DES) 对称加密算法是指加密和解密采用相同的密钥,是可逆的(即可解密)。 AES加密算法是密码学中的高级加密标准,采用的是对称分组密码体制...

MD5加密解密以及设置salt(盐值)

MD5算法 package com.oracle.jsp.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * * @author wjxing * */ public class MD5 {...

MD5加密和RSA加密

1.MD5加密    MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),MD5算法的使用不需要支付任何版权费用。      MD5的功能:       ①.输入任意长度的信息,经过处理,输出为128位的信息(数字指纹);      ②.不同的输入得到的不同的结果(唯一性);      ③.根据128位的输...

C#MD5算法

1.来历 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来, 经md2、md3和md4发展而来。http://www.ietf.org/rfc/rfc1...

iOS 几种加密方法

iOS常见的几种加密方法 普通加密方法是讲密码进行加密后保存到用户偏好设置中 钥匙串是以明文形式保存,但是不知道存放的具体位置 1、base64加密 base64 编码是现代密码学的基础 基本原理: 原本是 8个bit 一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每 两个0 用 一个 = 表示 用base64 编码之后,数据长度会变大,增...

python爬取网易翻译 和MD5加密

一、程序需要知识 1、python中随机数的生成 #生成 0 ~ 9 之间的随机数 #导入 random(随机数) 模块 importrandom print(random.randint(0,9)) 2、python获取当前时间和时间戳 importtime,datetime #时间戳 print(time.time()) #今天的日期 prin...