Python教程

Python爬虫加密即拿即用【DES对称加密算法】

本文主要是介绍Python爬虫加密即拿即用【DES对称加密算法】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

DES对称加密

上码

言简意赅不套路,上码

'''
全称:数据加密标准(Data Encryption Standard),属于对称加密算法。
DES是一个分组加密算法,典型的 DES 以 64 位为分组对数据加密,加密和解密用的是同一个算法。
它的密钥长度是 56 位(因为每个第 8 位都用作奇偶校验),
密钥可以是任意的 56 位的数,而且可以任意时候改变。
'''

import binascii
from pyDes import des, CBC, PAD_PKCS5


# 加密
def des_encrypt(secret_key, s):
    """
    secret_key: 密钥
    s: c
    iv:初始化向量适用于MODE_CBC(CBC模式中必须提供长8字节)、MODE_CFB、MODE_OFB、MODE_OPENPGP,4种模式
    """
    iv = secret_key
    key = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)
    en = key.encrypt(s, padmode=PAD_PKCS5)
    return binascii.b2a_hex(en)


# 解密
def des_decrpyt(secret_key, s):
    """
    secret_key: 密钥
    s: c
    iv:初始化向量适用于MODE_CBC(CBC模式中必须提供长8字节)、MODE_CFB、MODE_OFB、MODE_OPENPGP,4种模式
    """
    iv = secret_key
    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)
    de = k.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5)
    return de


secret_str = des_encrypt('12345678', 'I LOVE YOU')
print(secret_str)
clear_str = des_decrpyt('12345678', secret_str)
print(clear_str)

结果

在这里插入图片描述

这篇关于Python爬虫加密即拿即用【DES对称加密算法】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!