首页 > 技术文章 > 接口加密

gocean 2021-08-23 18:52 原文

基于python

1、DES加密解密

from pyDes import des,CBC,PAD_PKCS5

Des_key = 'GraspDog'

class Encryption:

    def des_encrypt(s):
        """
        DES 加密
        :param s:原始字符串
        :return:加密后字符串
        """
        iv = Des_key
        k = des(Des_key,CBC,iv,pad=None,padmode=PAD_PKCS5)
        en = k.encrypt(s,padmode=PAD_PKCS5)
        return en

    def des_descrypt(s):
        """
        DES 解密
        :param s:原始字符串
        :return:加密后字符串
        """
        iv = Des_key
        k = des(Des_key,CBC,iv,pad=None,padmode=PAD_PKCS5)
        de = k.decrypt(s,padmode=PAD_PKCS5)
        return de

 

2、RSA加密解密

 1 from Crypto.PublicKey import RSA
 2 from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5
 3 import base64
 4 
 5 class Encryption:
 6     def rsa_key():
 7         # 伪随机数生成器
 8         random_generator = Random.new().read
 9         # rsa算法生成实例
10         rsa = RSA.generate(512, random_generator)
11         # 私钥的生成
12         private_pem = rsa.exportKey()
13         with open("private.pem", "wb") as f:
14             f.write(private_pem)
15         # 公钥的生成
16         public_pem = rsa.publickey().exportKey()
17         with open("public.pem", "wb") as f:
18             f.write(public_pem)
19 
20     def rsa_encrypt(s,key):
21         rsakey = RSA.importKey(key)
22         cipher = Cipher_pkcs1_v1_5.new(rsakey)
23         cipher_text = base64.b64encode(cipher.encrypt(s.encode('utf-8')))
24         return cipher_text.decode("utf-8")

 

推荐阅读