下面是用python加密数据的代码from Crypto.Cipher import AES
from Crypto.PublicKey import RSA
from Crypto.Hash import SHA256
from base64 import b64decode
import base64
mode = AES.MODE_CBC
key_bytes="HTj9bAAAMg9XxK6uLs4JGg==" # random 128 bit key generated
iv_bytes = "SECRETKEY"
cipher = AES.new(key_bytes, mode, iv_bytes)
def pad(text):
byteNum = len(text)
packingLength = 8 - byteNum % 8
appendage = chr(packingLength) * packingLength
data=text + appendage
return data
plain_text="some text to encrypt"
data = pad(plain_text)
encrypted_bytes = cipher.encrypt(data)
encrypted_string = base64.urlsafe_b64encode(encrypted_bytes)
encrytid = open("encryptid.txt",'w') #writting encrypted data for ref
encrytid.write(encrypted_string)
encrytid.close()
keys = b64decode('HTj9bAAAMg9XxK6uLs4JGg==')
key = (open('public.pem', 'rb').read()) #reading public.pem data
rsakey = RSA.importKey(key)
rsakey = PKCS1_OAEP.new(rsakey)
encrypted = rsakey.encrypt(keys)
#print ("enc: ", encrypted)
encrypt_aes = base64.b64encode(encrypted)
下面是用于解密上述输出的java代码:
当我们尝试使用java解密数据时,会出现以下错误:
错误
^{pr2}$
有人能提出解决这个问题的可能的解决办法。。。在