この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 8008|答える: 6

[出典] [実戦] State Secret 4(SM4)は.NETとJavaを使ってお互いを復号し合っています

[リンクをコピー]
掲載地 2022/09/12 22:26:24 | | | |
要件:フレンドプロジェクトで第三者と接続する必要があるため、データは送信時にNational Secret 4(SM4)アルゴリズムで暗号化され、両者がデータを暗号化・復号する必要があります。

SM4.0(旧称SMS4.0)は、中華人民共和国政府が採用したブロック暗号標準であり、2012年3月21日に国家暗号局によって公開されました。 関連する標準は「GM/T 0002-2012 "SM4 ブロック暗号アルゴリズム"(旧称:SMS4 ブロック暗号アルゴリズム)です。

情報セキュリティ技術 SM4 ブロック暗号アルゴリズム:ハイパーリンクのログインが見えます。

Javaプロジェクト

新しいmavenプロジェクトが作成され、hutoolにカプセル化されたSM4アルゴリズムを用いたhutoolツールが導入され、pomファイルも以下のように導入されました。

ドキュメンテーション:ハイパーリンクのログインが見えます。

.NET プロジェクト

.NETプロジェクトはカプセル化に導入する必要がありますSw.ChinaEncryptSM.NET Frameworkおよび.NET Coreプロジェクトをサポートするパッケージは、以下の通りにnugetコマンドを使用します。


住所:ハイパーリンクのログインが見えます。

.NETとJavaの暗号化結果をテストしてください

.NETコード:

Javaコード:

同じ鍵と iv の場合、暗号化後の結果は同じです、下図に示されているように:



.NET暗号化および復号化およびJava復号化

ここに、Javaを使って.NET暗号化を暗号化するコードの抜け落としがあり、その一例から推測ができます。

.NETコード:

Javaコード:

以下に示すように:

暗号化結果は以下の通りです:
rG50B+Ah6k0FqvvKItc2TDJnt9HcDIG9OyjBqkiiAlI=
復号結果は以下の通りです:
小さなスカム itsvse.com テスト



(終わり)




先の:NuGetパッケージの作成とリリースを3分で学びましょう
次に:解凍済みの.msiインストールパッケージ内のファイルを抽出してください
掲載地 2022/09/12 23:19:18 |
学ぶために
掲載地 2022/09/19 9:39:02 |
国家秘密交換の JAVA.NET を学ぶ
掲載地 2022/09/24 9:29:33 |

国家秘密交換の JAVA.NET を学ぶ
掲載地 2022/10/18 19:31:37 |
ちょうどいいタイミングで、ぜひご覧ください
掲載地 2023/01/04 17:37:20 |

ちょうどいいタイミングで、見てみて!~~~~~
 地主| 掲載地 2023/06/09 20:09:39 |
SM4アルゴリズムはSM4キーとIVをランダムに生成し、現在は128ビット(つまり16バイトの鍵)のみをサポートしています。


C#コードは次のようになります:



免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com