Python での暗号化と Javascript での復号化に問題があります。Python で行ったことは次のとおりです。
import binascii
import pandas as pd
import Crypto
import Crypto.Random
from Crypto.PublicKey import RSA
import binascii
import json
from Crypto.Signature import PKCS1_v1_5
from Crypto.Cipher import PKCS1_OAEP
from Crypto.Hash import SHA512, SHA384, SHA256, SHA, MD5
import requests
from flask import Flask, jsonify, request, render_template
....
public_keyy = RSA.importKey(binascii.unhexlify(recipient_address))
encryptor = PKCS1_OAEP.new(public_keyy)
encrypted = encryptor.encrypt(bytes(value, encoding='utf-8'))
value= binascii.hexlify(encrypted).decode('utf8',errors='ignore')
print("Encrypted:", binascii.hexlify(encrypted))
そして、これがJavascriptで行っていることです( JSEncrypt.js を使用):
for (i = 1; i < response.length; i++) {
for (j = 0; j < response["chain"][i]["transactions"].length; j++) {
//format date
var options = { year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit", second: "2-digit" };
var date = new Date(response["chain"][i]["timestamp"] * 1000);
var formattedDateTime = date.toLocaleTimeString("en-us", options);
var valeur=response["chain"][i]["transactions"][j]["value"]
//DECRYPTION
decrypt = new JSEncrypt();
decrypt.setPrivateKey(priv_key);
var plainText = decrypt.decrypt(valeur);
transaction = [count,
response["chain"][i]["transactions"][j]["recipient_address"],
response["chain"][i]["transactions"][j]["sender_address"],
response["chain"][i]["transactions"][j]["sender_id"],
response["chain"][i]["transactions"][j]["sender_bat"],
response["chain"][i]["transactions"][j]["value"],
formattedDateTime,plainText,message,
response["chain"][i]["block_number"]];
transactions.push(transaction);
したがって、次のように、ユーザーが生成した秘密鍵で復号化しようとしています。
"3082025b02010002818100a2376cf4d9ca5d09c1c8392edb218af719d4cc6b1b49999cdfdb0f819e0dc6f0220a9e0007a50bf7185c52e4b6e769dbffe9312ae9dedf8ec9dc6f70711a4f2b5c61af54e431e20a267af4224a34bb7f7da9823b365c31be62593dd79baad421b1c5f3dd4cdf4dce06492543cbafa058b4151b6b99064abcc1ccfb2bb572afab020301000102818003a12cda533a4ec282d9e0a7e4cb6af3dd3d4413a8c59717d0ff1d306dfdf89748cc98cb70d22069e93ecb97cd808d7f6df4ba10a1b11c0000d945fd48245b9d6dac7f2dbe558eb6a5329da2429e72765e2f5d1ec328c0e5da628cb72e0867e71fa510b5ee20238028b93e5e36c371abd7a320f0267de8f2308bdc352722e409024100be201b36623b3e6bb2a1a1cbcaaee0accb98baa2e166955e1c903461ca3fe31b1d42201c9ada9d7dfa1b0104a55a9203e72934cf36d1ca6551091d123f7e6d23024100da6bd53bdaa03961b20074e5a0b6fc03fa839464765e795d39ee522e3c7cc0033256f9dc30e551f58eaf5a3cd67e421a1b8e05cad56f8efaa4c567761c926fd90240315801d8067c9bc1b5d5cf3925fc672151a1ece6731b7daeb43914ef405f7e60be223855543762e29c33bffae5b370ec0465a468173131974405da7eaeedf003024039b7a1034e0464e5620a28d9bd1c5d8017a4c983ba9bc06a583297d8cbf7132e451122b982da364c3346370c3889e8a1c9824019974901794e2d33e7cc290e11024038c801fcb3d9c28fbe6c352148cefe7dbc0214ce6fb3eb5bb656daef6426b49a68e1d1d3aa419d409992e71be0d97fad9f7d44b969a55c980fb0e6d19804afa8 "
私は何を間違っていますか?このキー形式は JSEncrypt でサポートされていないと思いますが、どうすればよいかわかりません。
ありがとうございました :)