Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 8008|Répondre: 6

[Source] [Combat réel] State Secret 4 (SM4) utilise .NET et Java pour se déchiffrer mutuellement

[Copié le lien]
Publié sur 12/09/2022 22:26:24 | | | |
Exigences : En raison de la nécessité de se connecter à un tiers sur le projet ami, les données sont chiffrées à l’aide de l’algorithme National Secret 4 (SM4) lors de la transmission, et les deux parties doivent chiffrer et déchiffrer les données.

SM4.0 (anciennement connu sous le nom de SMS4.0) est une norme de cryptographie par blocs adoptée par le gouvernement de la République populaire de Chine, publiée par l’Administration d’État de la cryptographie le 21 mars 2012. La norme pertinente est « GM/T 0002-2012 « SM4 Block Cipher Algorithm » (anciennement SMS4 Block Cipher Algorithm) ».

Algorithme de cryptographie par blocs SM4 pour la technologie de la sécurité de l’information :La connexion hyperlientérée est visible.

Projets Java

Un nouveau projet Maven a été créé, et l’outil hutool a été introduit, utilisant l’algorithme SM4 encapsulé dans hutool, et le fichier pom est introduit comme suit :

Documentation:La connexion hyperlientérée est visible.

Projet .NET

Le projet .NET doit être introduit dans mon encapsulationSu.ChineEncryptSMLes paquets qui prennent en charge les projets .NET Framework et .NET Core utilisent la commande nuget comme suit :


Adresse:La connexion hyperlientérée est visible.

Testez les résultats du chiffrement .NET et Java

Code .NET :

Code Java :

Vous pouvez voir que dans le cas de la même clé et iv,Le résultat est le même après chiffrement, comme montré dans la figure ci-dessous :



Chiffrement et déchiffrement .NET et déchiffrement Java

Voici une omission du code qui utilise Java pour chiffrer le chiffrement .NET, et vous pouvez tirer des inférences d’un exemple.

Code .NET :

Code Java :

Comme montré ci-dessous :

Le résultat du chiffrement est le suivant :
rG50B+Ah6k0FqvvKItc2TDJnt9HcDIG9OyjBqkiiAlI=
Les résultats du déchiffrement sont les suivants :
Testez les petites racailles itsvse.com



(Fin)




Précédent:Apprenez à créer et publier des packages NuGet en 3 minutes
Prochain:Extraire les fichiers dans le paquet d’installation .msi décompressé
Publié sur 12/09/2022 23:19:18 |
Apprendre à apprendre
Publié sur 19/09/2022 09:39:02 |
Apprenez les JAVA.NET de l’échange secret national
Publié sur 24/09/2022 09:29:33 |

Apprenez les JAVA.NET de l’échange secret national
Publié sur 18/10/2022 19:31:37 |
Juste à temps, regarde
Publié sur 04/01/2023 17:37:20 |

Juste à temps, regarde ! ~~~~~
 Propriétaire| Publié sur 09/06/2023 20:09:39 |
L’algorithme SM4 génère aléatoirement les clés et IVs SM4, et ne prend actuellement en charge que 128 bits (c’est-à-dire 16 octets de clé).


Le code C# ressemble à ceci :



Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com