天天看點

python實作DES加密,簡單案例

環境:python3.6

庫:pyDes

des對稱加密:是一種比較傳統的加密方式,其加密運算、解密運算使用的是同樣的密鑰,資訊的發送者和資訊的接收者在進行資訊的傳輸與處理時,必須共同持有該密碼(稱為對稱密碼),是一種對稱加密算法。

from pyDes import des, CBC, PAD_PKCS5
import binascii

# 秘鑰
KEY='mHAxsLYz'
def des_encrypt(s):
    """
    DES 加密
    :param s: 原始字元串
    :return: 加密後字元串,16進制
    """
    secret_key = KEY
    iv = secret_key
    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)
    en = k.encrypt(s, padmode=PAD_PKCS5)
    return binascii.b2a_hex(en)


def des_descrypt(s):
    """
    DES 解密
    :param s: 加密後的字元串,16進制
    :return:  解密後的字元串
    """
    secret_key = KEY
    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