在java方面:
使用bouncycastle获取密钥对,privateKey和publicKey
使用privateKey加密orig message1以获取加密的消息2
使用publicKey解密加密的message2即可,成功获取相同的orig消息1
在c ++方面:
基于openssl," RSA_public_decrypt"和" RSA_private_encrypt" API
使用相同的publicKey(在java端生成)来解密message2,返回一个缓冲区,每个字节填充0,RSA_public_decrypt返回成功。
另外:
在c ++方面,如果使用privateKey加密orig消息1来获取加密消息3,然后用公钥解密,成功获取message1。但是message3与加密的message2(java方面)不同。
以上所有使用了RSA_NO_PADDING
在java端,加密次数多,得到相同的message2
在c ++方面,加密次数多,也得到相同的消息3。但是message2与message3不同。
问题是如何在c ++端解密以获取在java端加密的orig message1?
谢谢!
答案 0 :(得分:0)
def update
@product.category_id = params[:category_id]
respond_to do |format|
if @product.update(product_params)
format.html { redirect_to @product, notice: 'Product was successfully updated.' }
format.json { render :show, status: :ok, location: @product }
else
format.html { render :edit }
format.json { render json: @product.errors, status: :unprocessable_entity }
end
end
end