python加密解密

1. md5加密

方法一:使用Crypto

from  Crypto.Hash import MD5

md5 = MD5.new()
md5.update('1111')
print md5.hexdigest()

方法二:使用hashlib

import hashlib

md5 = hashlib.md5()
md5.update('1111')
print md5.hexdigest()
2. AES加密解密

导入库

from Crypto.Cipher import AES
from Crypto import Random

加密

def myEncrypt(textEncrypt, password):

    bs = AES.block_size
    pad = lambda s: s + (bs - len(s) % bs) * chr(bs - len(s) % bs)
    iv = Random.new().read(bs)
    cipher = AES.new(password, AES.MODE_CBC, iv)
    data = cipher.encrypt(pad(textEncrypt))
    data =iv + data

    return data

解密

def myDecrypt(data, password):

    bs = AES.block_size
    if len(data) <= bs:
        return data
    unpad = lambda s: s[0:-ord(s[-1])]
    iv = data[:bs]
    cipher = AES.new(password, AES.MODE_CBC, iv)
    data = unpad(cipher.decrypt(data[bs:]))
    print data.encode('hex')
    return data
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在开发应用过程中,客户端与服务端经常需要进行数据传输,涉及到重要隐私安全信息时,开发者自然会想到对其进行加密,即使...
    闲庭阅读 3,361评论 0 11
  • 本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...
    苹果粉阅读 11,625评论 5 29
  • MD5加密是单向的,只能加密不能解密(破解除外)。标题可能会引起读者误解,已经改正,感谢Li_Cheng同学的提醒...
    奋斗ing0310阅读 1,224评论 1 13
  • 概述 之前一直对加密相关的算法知之甚少,只知道类似DES、RSA等加密算法能对数据传输进行加密,且各种加密算法各有...
    Henryzhu阅读 3,080评论 0 14
  • Christmas Market 开始了~
    四月晴天的日志阅读 246评论 0 0