DES 加密解密算法 python 版

前言:

工作需求:所有参数(数据库连接,服务器连接,都不能使用明文传参),所以需要一个加密解密算法,本来是想写 AES 的,但是 python 环境下各种改东西调试,好烦,所以退而求其次用 DES;
DES 算法写了 java 版和 python 版,这个是 python 版,java 版可以在我的博客里找一下。java版

1.直接上代码
#!/usr/bin/python
# -*- coding: utf-8 -*-
import binascii
from pyDes import des, CBC, PAD_PKCS5


def des_encrypt(secret_key, s):
    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_decrypt(secret_key, s):
    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('testtest', 'this is a test?!*')
print '密文:', secret_str
clear_str = des_decrypt('testtest', secret_str)
print '明文:', clear_str
2.运行结果
密文: 316eb4faaad904a3d44e4cf842a4ae0b9dd102365a12f814
明文: this is a test?!*
3.tips

DES 算法要求密钥的位数必须是 8 位。

发布了76 篇原创文章 · 获赞 46 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qingquanyingyue/article/details/90243123