Python中摘要算法MD5,SHA1讲解】的更多相关文章

摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示).摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过(不同的data计算出来的摘要不同). 常见的摘要算法有MD5和SHA1 MD5 import hashlib m=hashlib.md5() m.update('zhangkang') print(m.hexdigest()) 输出: 09b32682…
类似其它的语言, Python 中的函数使用小括号( () )调用.函数在调用之前必须先定义.如果函数中没有 return 语句, 就会自动返回 None 对象.      Python 是通过引用调用的. 这意味着函数内对参数的改变会影响到原始对象.不过事实上只有可变对象会受此影响, 对不可变对象来说, 它的行为类似按值调用. 如何定义函数 def function_name([arguments]): "optional documentation string" function…
Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 1. 装饰器 即:在方法上应用装饰器 2. 类属性 即:在类中定义值为property对象的类属性 装饰器: 装饰器类有三种访问方式,并分别对应了三个被@property.@方法名.setter.@方法名.deleter修饰的方法,定义为对同一个属性:获取.修改.删除 class Goods(object): def __init__(self): #…
堆的定义: 堆是一种特殊的数据结构,它的通常的表示是它的根结点的值最大或者是最小. python中heapq的使用 列出一些常见的用法: heap = []#建立一个常见的堆 heappush(heap,item)#往堆中插入一条新的值 item = heappop(heap)#弹出最小的值 item = heap[0]#查看堆中最小的值,不弹出 heapify(x)#以线性时间将一个列表转为堆 item = heapreplace(heap,item)#弹出一个最小的值,然后将item插入到堆…
import hashlib import os,sys   def CalcSha1(filepath):     with open(filepath,'rb') as f:         sha1obj = hashlib.sha1()         sha1obj.update(f.read())         hash = sha1obj.hexdigest()         print(hash)         return hash   def CalcMD5(filep…
对于asp这种古董级的技术,这年头想找一些有用的资料已经不容易了,下面是一些常用的加密算法: md5 (将以下代码另存为md5.inc) <% Private Const BITS_TO_A_BYTE = 8 Private Const BYTES_TO_A_WORD = 4 Private Const BITS_TO_A_WORD = 32 Private m_lOnBits(30) Private m_l2Power(30) Private Function LShift(lValue, i…
看这篇文章前,你应该已经知道了为什么有编码,以及编码的种类情况 ASCII 占1个字节,只支持英文 GB2312 占2个字节,支持6700+汉字 GBK GB2312的升级版,支持21000+汉字 Shift-JIS 日本字符 ks_c_5601-1987 韩国编码 TIS-620 泰国编码 由于每个国家都有自己的字符,所以其对应关系也涵盖了自己国家的字符,但是以上编码都存在局限性,即:仅涵盖本国字符,无其他国家字符的对应关系.应运而生出现了万国码,他涵盖了全球所有的文字和二进制的对应关系, U…
import md5 import types def get_md5(data): if type(data) is not types.StringType: # 检验输入的数据是否为字符串 print 'Data must be <str> type' return m = md5.new() # 创建md5对象 m.update(data) # 更新对象,计算data的md5值 return m.hexdigest() # 16进制返回值,32位 if __name__ == '__m…
如下两种方法,结果相同 import hashlib import time m = hashlib.md5() m.update(str(time.time()).encode('utf-8')) print(m.hexdigest()) m2 = hashlib.md5(str(time.time()).encode('utf-8')) print(m2.hexdigest()) # ad8720ac04abb38e20d79093b18505c1 # ad8720ac04abb38e20d…
首先先来介绍一下md5 和 sha1 的概念 MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法).128位长度.目前MD5是一种不可逆算法. 具有很高的安全性.它对应任何字符串都可以加密成一段唯一的固定长度的代码. SHA1 SHA1的全称是Secure Hash Algorithm(安全哈希算法) .SHA1基于MD5,加密后的数据长度更长, 它对长度小于264的输入,产生长度为160bit的散列值.比MD5多32位. 因此,比MD5更加安全,但SHA…