RSA 秘密キーを使用して暗号化されたメッセージを復号する方法

PHPz
リリース: 2024-02-09 15:30:20
転載
872 人が閲覧しました

如何使用 RSA 私钥解密加密消息

php エディターの Youzi が、RSA 秘密キーを使用して暗号化されたメッセージを復号する方法を紹介します。 RSA は、公開キーと秘密キーを生成して情報を暗号化および復号化する非対称暗号化アルゴリズムです。 RSA を使用して暗号化されたメッセージを復号化する場合は、対応する秘密キーを取得し、その秘密キーを使用して暗号化されたメッセージを復号化する必要があります。復号化プロセス中に、秘密キーは暗号化されたメッセージを復号化し、元の平文情報に復元します。 RSA 秘密キーの復号化をマスターすることで、機密情報をより安全に配信および保護できます。次に、RSA 秘密キーの復号化の手順と注意事項を詳しく紹介し、この暗号化および復号化テクノロジをよりよく理解して適用できるようにします。

質問の内容

公開鍵を必要とする API にアクセスしています。公開鍵はベクターとトークンを含む応答を返しますが、それらは暗号化された形式です (公開鍵を使用していると思います)。これを行うための公開キー)。復号化するには、秘密キーを使用する必要があります。秘密鍵と公開鍵の両方が暗号化されます。 私は基本的にこのようなものを実装したいと考えています https://www.devglan.com/online-tools/rsa-encryption-decryption

私が使用したキー (繰り返しますが、仮想キーです!) 公開: migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqcbi1sofn/zpsprblpaw/c4gdkho6idv3j/p5leeupasbvvpq6wy7tf6lfbstcirq48omd34p3z5sx1jyy15oxnxnkbpoodv8byqdnk/lffcz5 720yunka0 xihuol/zi0c0pwb6hkaakt0sbeglbcux6yr6sbjbfai2ofikk/mgswidaqab

プライベート: miicdqibadanbgkqhkig9w0baqefaascal8wggjbageaaogbajsjvkh839k ymsgu8bb9zgymoejoh2/cn8/ksqrskcxtvwmrrbjtn/qv8fjnykurjygwpfinfpmxfwnjlxk5c3e0og mg52/wfhb2cr8t8 v xnnvbtjq2rrtgidsix9mlrzq9yhoeqacrpsxt4ytsk5frkvpjskevojah8gqt yazagmbaaecgya5kaed/z8tmslujhxgajzzgldkczms6uhxasdw/1fwxooeatbs5ha7gumcerhkib sps8hmlkxgvp2sin/8fb9mo1yhaan2 g5 2 cvpr2qmeeuowfuztm/gllt4ruib7smc5uxl7sw55bghrxqdfhjskow4rpga irjuysy5gizswqjbandtff vwpkrr8mhyvagollkra1cfn8g9x1ega3mgwpny oh5nmjfe0ibaxo69jlrnbajk oxnpsyh/azzseehascqqc f15 dvsjh 8tjsxz8rcdpmdp p9j/eoi7 v0igwkaasjczfywxeckaaipvwit7fkj3n83nj0ppm9xwh22cygs坂aviwotleoken71v/tt kauyt32ahgwnkckwvwmv4/ws6rflcnvdxr/ cnkcgeqlkxtlkkp /clg3gy6o 2ymi5xnaka8l4jsycryb8sw0rlvomoq2vz /lacrnkzsecpywk4uupcu9ffrutaje6mnaj2pna9wjxw5c exk5rcmq7rcgrxakajize3jbwuu3mx5tdmhfgcviz38jnfsujfryblkanjegod 4zc xrzxfo7ikda ptfmre7ztnu7wucm0yut2qa0j

暗号化メッセージ: buy5nr/pujncfxeuxqd4oxkcvmo2jilwh5vkzlz1udm4m0vxdv4ba1oanhbttqetqeny1vfw2v4v9pw5hmdics1sdgn69ceehjbned46rk1evtmvqzgp9ha54axie5v/1t dkywj aft0fx v j4kfffxgxezf19q8lb2aojcaejk6s= エンコード部分に入りましょう。 env ファイルから秘密鍵と公開鍵を取得しています:

リーリー

API にアクセスして結果を取得した後、rsa.decryptoaep 関数を使用してメッセージを復号化しようとしますが、[] crypto/rsa: decryption error ## が発生し続けます。 #。パッケージ自体の内部をデバッグした後、次のエラーが発生します: リーリー

if ステートメントの結果: k = 128 hash.size()*2 2=66 cipher = 172 最初は、秘密キー (私の場合は env ファイルから取得した文字列) を rsa 秘密キーに変換するときに問題が発生しました。 問題を解決するために私がやったことは次のとおりです:

リーリー

次に、次のように変換します:

リーリー

私は何を間違えたのでしょうか?

回避策

Select Password Typeフィールドでrsaが選択されている場合、devglan Webサイトはpkcs#1 v1.5をパディングとして適用します。したがって、rsa.decryptpkcs1v15() を使用する必要があります。秘密キーは、x509.parsepkcs8privatekey() を使用してインポートできる、base64 でエンコードされた pkcs#8 der キーです。 ###一緒に:### リーリー

以上がRSA 秘密キーを使用して暗号化されたメッセージを復号する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!