代码改变世界

python加密模块学习

2013-09-11 11:15  cmsd  阅读(627)  评论(0编辑  收藏  举报

1. md5模块

    md5.new([arg])     返回一个md5对象,如果给出参数,则相当于调用了update(arg)

    md5.update(arg)   用string参数arg更新md5对象

    md5.digest()         返回16字节的摘要,由传给update的string生成,摘要没有ascii字符

    md5.hexdigest()    以16进制的形式返回摘要

import md5
a = md5.new('passwd')
a.digest()
   'v\xa2\x17;\xe692T\xe7/\xfaMm\xf1\x03\n'

a.hexdigest()
   '76a2173be6393254e72ffa4d6df1030a'

a.update('hello world')
a.digest()
   '\xb2\x83f\xb8\x14\xc9\xc6\x19k\x01\xfe\xd8\xd9\x8f\xe0H'

a.hexdigest()
   'b28366b814c9c6196b01fed8d98fe048'
 

2.sha 模块

用法同md5一样

import sha
b=sha.new('passwd')
b.digest()
  "0'LG\x90;\xd1\xba\xc7c;\xbf\tt1I\xeb\xab\x80_"

b.hexdigest()
  '30274c47903bd1bac7633bbf09743149ebab805f'

b.update('hello')
b.digest()
  'c\xc19\xb4]YGz\x85\xe8C\x8fF\xfe\x9e\xc3|\xb16\xba'

b.hexdigest()
  '63c139b45d59477a85e8438f46fe9ec37cb136ba

 

3.crypt

  crypt模块中就一个函数,crypt(str,salt) --> string 

from crypt import crypt 

crypt('passwd','a')
  'aaIslqfNH03LA'

crypt('passwd','abc')
  'ab8RogIKnX0og'

crypt('passwd','a')
  'aaIslqfNH03LA'