基于python3.5的 rsa+base64加解密,python3.5base64,python3.5.


python3.5.3的版本。需要先生成一个私钥,然后放入这里面即可。

这个有个地方需要注意的是:

加密阶段,我们base64 第一次加密的时候,是加密传入的字符串,然后rsa继续把base64加密后的数据再次加密 , 等rsa加密完成后,我们base64进行第二次加密,此刻加密的数据是加密 rsa加密后的数据了。解密阶段。一路狂解密,不要停

一定要注意上面的加密阶段,别等第一个base64加密后,第二个base64就解密了,这样是行不通的。

#!/usr/bin/env python3import rsaimport base64import jsonmessage2=b""privatePath = "/root/PycharmProjects/xxxxx/pem/rsa_private_key.pem"def decryption(data):        ‘‘‘        decryption the data        :return:        ‘‘‘        mes=base64.b64decode(data)   # base64第一次解密        print(‘mes -->‘,mes,len(mes))        message2=b""        with open(privatePath) as privatefile:            p = privatefile.read()            privkey = rsa.PrivateKey.load_pkcs1(p)        for i in range(0,len(mes),128):            data = i+128            kk=mes[i:data]            message = rsa.decrypt(kk, privkey)   # rsa解密            message2 = message2 + message        data =  base64.b64decode(message2)  # base64 解密 ras解密后的数据        return datadef encryption(data):        ‘‘‘        encryption the data        :param data:        :return:        ‘‘‘        print("raw data -->",data)        mes=base64.b64encode(data.encode(‘utf-8‘))  # base64第一次加密        print("after base64 en",mes)        mm = base64.b64decode(mes)        print("after base64 de",mm)        message2=b""        with open(privatePath) as privatefile:            p = privatefile.read()            privkey = rsa.PrivateKey.load_pkcs1(p)        for i in range(0,len(mes),128):            data = i+128            kk=mes[i:data]            message = rsa.encrypt(kk, privkey)  # rsa加密            message2 = message2 + message        print("after en message2 -->",message2)        data = base64.b64encode(message2)   # base54 第二次加密 rsa加密的结果        return datarawdata = "key=test,author=liaojiafa,date=20181017"x = encryption(rawdata)print("x",x)d = decryption(x)print("d",d)

基于python3.5的 rsa+base64加解密

评论关闭