美文网首页百人计划
Python3常用加密方法使用总结

Python3常用加密方法使用总结

作者: 葛木瓜 | 来源:发表于2018-08-02 23:55 被阅读2次

一、缘 起

今日做接口测试,用Python实现接口签名认证的过程中用到了一些常用算法,在此做以总结,以便往后回顾

二、说 明

  • 环境:Win 7 + Python 3.6
  • 内容:
    1. Python 3MD5加密的常用方法
    2. Python 3AES加密的常用方法
    3. Python 3下匿名函数lamda的简单使用

三、实 例

  • Python 3下MD5加密的常用方法
# 由于MD5模块在python3中被移除,使用hashlib模块进行md5操作
import hashlib

# md5加密实现
def md5(string):
    m = hashlib.md5()
    # 注意update()输入应为bytes类型,需用.encode('utf-8')将str转为bytes型
    m.update(string.encode('utf-8')) 
    return m.hexdigest()

print(md5('ssfan'))

>> ac9a056a8e0954fcbf0370f2ca883b53
  • Python 3下AES加密的常用方法
  1. Python 3 下安装AES
# 第一步,安装crypto
pip install crypto
# 第二步,安装pycryptodome
pip show pycryptodome
# 第三步,改文件夹名称
进入Python3的目录下的\lib\site-packages,将crypto文件夹更名为Crypto(注意是大写的C,否则导入模块失败)
  1. Python 3AES加密的常用方法
import base64
from Crypto.Cipher import AES

# AES加密
def aes_crypt(key, iv, passwd):
    """
    AES加密算法(key,iv,passwd输入均应为bytes类型,选择MODE_CBC类型加密)
    :param key: 秘钥(定值,16位长度)
    :param iv: 偏移(定值,位长度)
    :param passwd: 密码
    :return: 返回值再经过base64加密后
    """
    BS = AES.block_size  # 获取AES数据位数(16位)
    # 补位,补够16位
    pad = (lambda s: s + (BS - len(s) % BS) * '#')
    print(pad(passwd))
    aes = AES.new(key.encode('utf-8'), AES.MODE_CBC, iv.encode('utf-8'))
    return base64.b64encode(aes.encrypt(pad(passwd).encode('utf-8')))

aes_key = 'QWHeJfoWQgaYasdf'
aes_iv = '1111111111222345'
password = '123456'
# 注意,经过aes_crypt加密的密文是bytes类型
password = aes_crypt(aes_key, aes_iv, password).decode('utf-8')
print(password)


>> 123456##########
>> p8Vsc9TZDlFRoQctgiWJOA==
  • Python 3下匿名函数lamda的简单使用
# 匿名函数
pad = (lambda s: s + (16 - len(s) % 16) * '#')

# 正常函数
def pad_nomal(s):
    return s + (16 - len(s) % 16) * '#'
print(pad('ssfan'), pad_nomal('ssfan'))

>> ssfan########### ssfan###########

~
~
~


不积跬步,无以至千里

相关文章

  • Python3常用加密方法使用总结

    一、缘 起 今日做接口测试,用Python实现接口签名认证的过程中用到了一些常用算法,在此做以总结,以便往后回顾 ...

  • 常用加密算法探寻

    原文地址在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 对称加密 原理: 加密和解密...

  • 区块链100讲:盘点那些常用的加密算法原理

    在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使...

  • iOS开发加密-iOS常用加密方法三种

    看到网上有常用加密方法的总结,就转存了一下,应该对我们以后有帮助 常用的是MD5加密,这是一种单向加密,实现如下:...

  • 常用的加密方式

    常用的加密方法: MD5加密 AES加密 BASE64加密 常用加密的地方: 1)本地数据加密 对NSUserDe...

  • Python基础与科学计算常用方法

    Python基础与科学计算常用方法 本文使用的是Jupyter Notebook,Python3。你可以将代码直接...

  • js中常见的数据加密与解密的方法

    加密在我们前端的开发中也是经常遇见的。本文只把我们常用的加密方法进行总结。不去纠结加密的具体实现方式(密码学,太庞...

  • 常用加密算法解析

    今天介绍下工作当中常用的加密算法、分类、应用。 1、对称加密算法 所谓对称,就是采用这种加密方法的双方使用方式用同...

  • iOS UITextField常用方法

    iOS UITextField常用方法 最近项目使用UITextField比较多,下面总结一些经常用到的方法 1....

  • encyption&decyption

    0, 常用加密算法的Java实现(一) ——单向加密算法MD5和SHA 常用加密算法的Java实现总结(二) ...

网友评论

    本文标题:Python3常用加密方法使用总结

    本文链接:https://www.haomeiwen.com/subject/rihevftx.html