Asymmetrische Verschlüsselungskryptographie in Java
Kryptozoologie ist das Studium und die Praxis verschiedener Techniken zum Schutz der Kommunikation vor Störungen durch Dritte. Es dient der Netzwerksicherheit. Wir versuchen, Methoden und Praktiken zum Schutz sensibler Daten zu entwickeln. Das einzige Ziel der Kryptografie besteht darin, Daten vor Angreifern zu schützen. Asymmetrische Verschlüsselung wird auch als Public/Private-Key-Verschlüsselung bezeichnet. Der private Schlüssel bleibt, wie der Name schon sagt, privat, während der öffentliche Schlüssel weitergegeben werden kann. Verschlüsselung ist eine mathematische Beziehung zwischen zwei Schlüsseln, einem zur Verschlüsselung und einem zur Entschlüsselung. Wenn es beispielsweise zwei Schlüssel „A1“ und „A2“ gibt, dann wird, wenn der Schlüssel „A1“ zur Verschlüsselung verwendet wird, „A2“ zur Entschlüsselung verwendet und umgekehrt.
Wir verwenden den RSA-Algorithmus zur asymmetrischen Verschlüsselung. Zuerst generieren wir ein Schlüsselpaar (öffentlicher Schlüssel, privater Schlüssel).
Kryptographie der asymmetrischen Verschlüsselung in Java
Um einen asymmetrischen Schlüssel zu generieren, können die folgenden Schritte ausgeführt werden: −
Zuerst verwenden wir die SecureRandom-Klasse, um die öffentlichen und privaten Schlüssel zu generieren. Es wird zur Generierung von Zufallszahlen verwendet.
Durch die Verwendung des RSA-Algorithmus zum Generieren von Schlüsseln stellt diese Klasse die Methode getInstance() bereit, die zum Übergeben einer Zeichenfolgenvariablen verwendet wird, die den Schlüsselgenerierungsalgorithmus angibt, und die zum Schlüsselgeneratorobjekt zurückkehrt
Initialisieren Sie das Schlüsselgeneratorobjekt mit einer Schlüsselgröße von 2048 Bit und übergeben Sie eine Zufallszahl. -
Syntax
// Java program to create a // asymmetric key package java_cryptography; import java.security.KeyPair; import java.security .KeyPairGenerator; import java.security .SecureRandom; import javax.xml.bind .DatatypeConverter; // Class to create an asymmetric key public class Asymmetric { private static final String RSA = "RSA"; // Generating public and private keys // using RSA algorithm. public static KeyPair generateRSAKkeyPair() throws Exception { SecureRandom secureRandom = new SecureRandom(); KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(RSA); keyPairGenerator.initialize( 2048, secureRandom); return keyPairGenerator .generateKeyPair(); } // Driver code public static void main(String args[]) throws Exception { KeyPair keypair = generateRSAKkeyPair(); System.out.println( "Public Key is: " + DatatypeConverter.printHexBinary( keypair.getPublic().getEncoded())); System.out.println( "Private Key is: " + DatatypeConverter.printHexBinary( keypair.getPrivate().getEncoded())); } }
Ausgabe
<p style="color:#D2593F;"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/465/014/169241191890148.jpg" class="lazy" alt="Asymmetrische Verschlüsselungskryptographie in Java" /><b></b></p>
Sie können jetzt die folgenden Schritte ausführen, um Programmcode zu erstellen −
- Wir verwenden die Cipher-Klasse, um zwei verschiedene Modi zu erstellen: Verschlüsselung und Entschlüsselung. Der Verschlüsselungsschlüssel ist der private Schlüssel und der Entschlüsselungsschlüssel ist der öffentliche Schlüssel.
// Java program to perform the // encryption and decryption // using asymmetric key package java_cryptography; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.SecureRandom; import java.util.Scanner; import javax.crypto.Cipher; import javax.xml.bind .DatatypeConverter; public class Asymmetric { private static final String RSA = "RSA"; private static Scanner sc; // Generating public & private keys // using RSA algorithm. public static KeyPair generateRSAKkeyPair() throws Exception { SecureRandom secureRandom = new SecureRandom(); KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(RSA); keyPairGenerator.initialize( 2048, secureRandom); return keyPairGenerator .generateKeyPair(); } // Encryption function which converts // the plainText into a cipherText // using private Key. public static byte[] do_RSAEncryption( String plainText, PrivateKey privateKey) throws Exception { Cipher cipher = Cipher.getInstance(RSA); cipher.init(Cipher.ENCRYPT_MODE, privateKey); return cipher.doFinal( plainText.getBytes()); } // Decryption function which converts // the ciphertext back to the // original plaintext. public static String do_RSADecryption( byte[] cipherText, PublicKey publicKey) throws Exception { Cipher cipher = Cipher.getInstance(RSA); cipher.init(Cipher.DECRYPT_MODE, publicKey); byte[] result = cipher.doFinal(cipherText); return new String(result); } // Driver code public static void main(String args[]) throws Exception { KeyPair keypair = generateRSAKkeyPair(); String plainText = "This is the PlainText "+ "I want to Encrypt using RSA."; byte[] cipherText = do_RSAEncryption( plainText, keypair.getPrivate()); System.out.println( "The Public Key is: " + DatatypeConverter.printHexBinary( keypair.getPublic().getEncoded())); System.out.println( "The Private Key is: " + DatatypeConverter.printHexBinary( keypair.getPrivate().getEncoded())); System.out.print("The Encrypted Text is: "); System.out.println( DatatypeConverter.printHexBinary( cipherText)); String decryptedText = do_RSADecryption( cipherText, keypair.getPublic()); System.out.println( "The decrypted text is: " + decryptedText); } }
Ausgabe
<p style="text-align: center; color: rgb(210, 89, 63);"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/465/014/169241191871435.jpg" class="lazy" alt="Asymmetrische Verschlüsselungskryptographie in Java" /><b></b></p>
Fazit
Daher haben wir in diesem Artikel mithilfe des RSA-Algorithmus den verschlüsselten Text „Dies ist der Klartext, den ich mit RSA verschlüsseln möchte“ erstellt
Das obige ist der detaillierte Inhalt vonAsymmetrische Verschlüsselungskryptographie in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wie schreibe ich einen einfachen Generator für Schülerleistungsberichte mit Java? Der Student Performance Report Generator ist ein Tool, das Lehrern und Erziehern dabei hilft, schnell Berichte über die Schülerleistung zu erstellen. In diesem Artikel wird erläutert, wie Sie mit Java einen einfachen Generator für Schülerleistungsberichte schreiben. Zuerst müssen wir das Studentenobjekt und das Studentennotenobjekt definieren. Das Schülerobjekt enthält grundlegende Informationen wie den Namen und die Schülernummer des Schülers, während das Schülerergebnisobjekt Informationen wie die Fachnoten und die Durchschnittsnote des Schülers enthält. Das Folgende ist die Definition eines einfachen Studentenobjekts: öffentlich

Wie schreibe ich ein einfaches System zur Anwesenheitsverwaltung von Studenten mit Java? Mit der kontinuierlichen Weiterentwicklung der Technologie werden auch die Schulverwaltungssysteme ständig aktualisiert und verbessert. Das Anwesenheitsmanagementsystem der Schüler ist ein wichtiger Teil davon. Es kann der Schule dabei helfen, die Anwesenheit der Schüler zu verfolgen und Datenanalysen und Berichte bereitzustellen. In diesem Artikel wird vorgestellt, wie man mit Java ein einfaches System zur Anwesenheitsverwaltung von Studenten schreibt. 1. Anforderungsanalyse Bevor wir mit dem Schreiben beginnen, müssen wir die Funktionen und Anforderungen des Systems ermitteln. Zu den Grundfunktionen gehören die Registrierung und Verwaltung von Studenteninformationen, die Aufzeichnung von Anwesenheitsdaten von Studenten und

So implementieren Sie die Adresssuche der Amap-API mithilfe der Java-Programmierung. Einführung: Amap ist ein sehr beliebter Kartendienst und wird häufig in verschiedenen Anwendungen verwendet. Unter anderem bietet die Suchfunktion in der Nähe des Adressstandorts die Möglichkeit, nach POIs (Points of Interest) in der Nähe zu suchen. In diesem Artikel wird ausführlich erläutert, wie Sie mithilfe der Java-Programmierung die Adresssuchfunktion der Amap-API implementieren und Codebeispiele verwenden, um den Lesern das Verständnis und die Beherrschung verwandter Technologien zu erleichtern. 1. Bewerben Sie sich für die Amap-Entwicklung

ChatGPTJava: Für den Aufbau eines intelligenten Musikempfehlungssystems sind spezifische Codebeispiele erforderlich. Einführung: Mit der rasanten Entwicklung des Internets ist Musik zu einem wesentlichen Bestandteil des täglichen Lebens der Menschen geworden. Da immer mehr Musikplattformen entstehen, stehen Benutzer häufig vor einem gemeinsamen Problem: Wie finden sie Musik, die ihrem Geschmack entspricht? Um dieses Problem zu lösen, wurde das intelligente Musikempfehlungssystem ins Leben gerufen. In diesem Artikel wird erläutert, wie Sie mit ChatGPTJava ein intelligentes Musikempfehlungssystem erstellen und spezifische Codebeispiele bereitstellen. NEIN.

So implementieren Sie die Bestandsstatistikfunktion des Lagerverwaltungssystems mit Java Mit der Entwicklung des E-Commerce und der zunehmenden Bedeutung der Lagerverwaltung ist die Bestandsstatistikfunktion zu einem unverzichtbaren Bestandteil des Lagerverwaltungssystems geworden. In Java geschriebene Lagerverwaltungssysteme können Bestandsstatistikfunktionen durch prägnanten und effizienten Code implementieren und so Unternehmen dabei helfen, die Lagerhaltung besser zu verwalten und die betriebliche Effizienz zu verbessern. 1. Einführung in den Hintergrund Das Lagerverwaltungssystem bezieht sich auf eine Verwaltungsmethode, die Computertechnologie verwendet, um Datenverwaltung, Informationsverarbeitung und Entscheidungsanalyse im Lager eines Unternehmens durchzuführen. Bestandsstatistiken sind

So verwenden Sie Java zum Implementieren des Breitensuchalgorithmus Der Breitensuchalgorithmus (Breadth-FirstSearch, BFS) ist ein häufig verwendeter Suchalgorithmus in der Graphentheorie, der den kürzesten Weg zwischen zwei Knoten im Diagramm finden kann. BFS wird häufig in vielen Anwendungen verwendet, z. B. beim Finden des kürzesten Pfads in einem Labyrinth, bei Webcrawlern usw. In diesem Artikel wird die Verwendung der Java-Sprache zur Implementierung des BFS-Algorithmus vorgestellt und spezifische Codebeispiele angehängt. Zuerst müssen wir eine Klasse zum Speichern von Diagrammknoten definieren. Diese Klasse enthält Knoten

Ein String ist eine Klasse des „java.lang“-Pakets, das eine Reihe von Zeichen speichert. Bei diesen Zeichen handelt es sich tatsächlich um Objekte vom Typ „String“.

EinführungDie symmetrische Verschlüsselung, auch Schlüsselverschlüsselung genannt, ist eine Verschlüsselungsmethode, bei der derselbe Schlüssel zum Ver- und Entschlüsseln verwendet wird. Diese Verschlüsselungsmethode ist schnell und effizient und eignet sich zur Verschlüsselung großer Datenmengen. Der am häufigsten verwendete symmetrische Verschlüsselungsalgorithmus ist Advanced Encryption Standard (AES). Java bietet starke Unterstützung für symmetrische Verschlüsselung, einschließlich Klassen im javax.crypto-Paket, wie SecretKey, Cipher und KeyGenerator. Symmetrische Verschlüsselung in Java Die JavaCipher-Klasse im Paket javax.crypto stellt kryptografische Funktionen für die Verschlüsselung und Entschlüsselung bereit. Es bildet den Kern des Java Cryptozoology Extensions (JCE)-Frameworks. In Java stellt die Cipher-Klasse symmetrische Verschlüsselungsfunktionen bereit und K
