Wie implementiert man die AES-Verschlüsselung?
package util;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import org.apache.tomcat.util.codec.binary.Base64;
/**
*
* @author Administrator
*
*/
public class AES {
// 加密
public static String Encrypt(String sSrc, String sKey) throws Exception {
if (sKey == null) {
System.out.print("Key为空null");
return null;
}
// 判断Key是否为16位
if (sKey.length() != 16) {
System.out.print("Key长度不是16位");
return null;
}
byte[] raw = sKey.getBytes("utf-8");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");//"算法/模式/补码方式"
cipher.init( Cipher.ENCRYPT_MODE, skeySpec);
byte[] verschlüsselt = cipher.doFinal(sSrc.getBytes("utf-8"));
return new Base64().encodeToString(encrypted);//此处使用BASE64做转码功能,同时能起到2次加密的作用.
}
// Entschlüsseln > Public Static String Decrypt (String SSRC, String Skey) Throws Exception {
Try {
// Beurteilen, ob der Schlüssel korrekt ist
if (SKEY == NULL) { System.out.print("Key is null");
return null;
}
// Bestimmen Sie, ob der Schlüssel 16 Bit lang ist
if (sKey.length () != 16) {
System.out.print("Key length is not 16 bits");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher. getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, skeySpec );
byte[] verschlüsselt1 = new Base64().decode(sSrc);//Zuerst mit Base64 entschlüsseln
using base64 using using ' s ' ' using ' s ' t ‐ ‐ ‐ d byte[] original = cipher.doFinal(encrypted1);
String( original,"utf-8");
return originalString;
} Catch (Exception e) {
System.out.println(e.toString());
Return Null;
}
} Catch (Exception Ex ) {
System.out.println(ex.toString());
return null; 🎝> */
public static byte[] encrypt(String content, String password) {
kgen. init(128, new SecureRandom (password.getBytes())); SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES") ;
Cipher cipher = Cipher.getInstance("AES");
byte[] byteContent = content.getBytes("utf-8");
cipher.init(Cipher.ENCRYPT_MODE , key); // Initialisierung
byte[] result = cipher.doFinal(byteContent) ; {
e.printStackTrace();
e.printStackTrace();
} Catch (UnsupportedEncodingException e) {
e.printStackTrace( ); e.printStackTrace(); e.printStackTrace();
} Catch (BadPaddingException e) {
e.printStackTrace();
}
return null;
}
/**Entschlüsselung
* @param content Zu entschlüsselnder Inhalt
* @param Passwort Entschlüsselungsschlüssel
* @return
*/
public static byte[] decrypt(byte[] content, String passwort) {
try {
KeyGenerator kgen = erator.getInstance(" AES");
kgen.init(128, new SecureRandom(password.getBytes()));
SecretKey secretKey = kgen.generateKey();
byte[] enCodeFormat = SecretKey.getEncoded();
SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");
Cipher cipher = Cipher.getInstance("AES");// 创建密码器
cipher.init(Cipher.DECRYPT_MODE, key);//
byte[] result = cipher.doFinal(content );
Rückgabeergebnis; // 加密
} Catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} Catch (NoSuchPaddingException e) {
e.printStackTrace();
} Catch (InvalidKeyException e) {
e.printStackTrace();
} Catch (IllegalBlockSizeException e) {
e.printStackTrace();
} Catch (BadPaddingException e) {
e.printStackTrace();
}
return null;
}
/**Konvertieren Sie binär in hexadezimal
* @param buf
* @return
*/
public static String parseByte2HexStr(byte buf[]) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < buf.length; i++) {
String hex = Integer.toHexString(buf[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
sb.append(hex.toUpperCase());
}
return sb.toString();
}
/**Hexadezimal in Binär umwandeln
* @param hexStr
* @return
*/
public static byte[] parseHexStr2Byte(String hexStr) {
if (hexStr.length() < 1)
null zurückgeben;
byte[] result = new byte[hexStr.length()/2];
for (int i = 0;i< hexStr.length()/2; i++) {
int high = Integer.parseInt(hexStr.substring(i*2, i*2+1), 16); 🎜> public static void main(String [] args) löst eine Ausnahme aus {
/*
* Hier wird der Verschlüsselungsmodus AES-128-ECB verwendet und der Schlüssel muss 16 Bit lang sein.
*/
String cKey = "1234567890123456";
// String, der verschlüsselt werden muss
String cSrc = "www.gowhere.so";
println(cSrc ) ;
String enString = AES.Encrypt(cSrc, cKey); // Decrypt
String DeString = AES.Decrypt(enString, cKey);
System.out.println("Der entschlüsselte String ist: " + DeString);
String content = "test";
String passwort = "12345678";
//Verschlüsselung
System.out.println("Vor der Verschlüsselung: " + content);
byte[] encryptResult = encrypt(content, password);
String encryptResultStr = parseByte2HexStr(encryptResult);
System.out.println("Nach der Verschlüsselung: " + encryptResultStr); 🎜> byte[] decryptFrom = par seHexStr2Byte(encryptResultStr);
System.out.println("Nach der Entschlüsselung: " + new String(decryptResult));
}
}
Das obige ist der detaillierte Inhalt vonWie implementiert man die AES-Verschlüsselung?. 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

Bitlocker ist die Standardverschlüsselungstechnologie für Windows-Betriebssysteme. Es wird häufig unter Windows verwendet, einige Benutzer bevorzugen jedoch Lösungen von Drittanbietern wie VeraCrypt. Was viele Benutzer von Bitlocker nicht wissen, ist, dass es standardmäßig eine 128-Bit-Verschlüsselung verwendet, obwohl 256-Bit verfügbar ist. Ohne zu sehr auf die Unterschiede einzugehen; der Hauptunterschied zwischen der AES-128-Bit- und der 256-Bit-Verschlüsselung ist die Länge des Sicherheitsschlüssels. Längere Tasten erschweren Brute-Force-Angriffe. Während der Standardwert 128-Bit ist, empfiehlt sogar Microsoft 256-Bit für mehr Sicherheit. Das Problem besteht darin, dass die meisten Benutzer wahrscheinlich nichts über die schwächeren Standardeinstellungen wissen oder wissen, wie sie diese ändern können. Zuerst möchten Sie vielleicht W. kennen lernen

Microsoft hat zuvor DNS-Verschlüsselungsdienste für Win11 bereitgestellt, aber viele Benutzer wissen nicht, wie man mit Win11 verschlüsselte DNS verwendet. Tatsächlich müssen wir nur die DNS-Einstellungen unter den Netzwerkeinstellungen öffnen. Ausführliches Tutorial zu Win11-verschlüsselten DNS: 1. Geben Sie zuerst die Festplatte ein und suchen Sie den Ordner, den Sie verschlüsseln möchten. 2. Öffnen Sie dann „Ethernet“ auf der rechten Seite. 3. Suchen Sie dann unten die DNS-Serverzuordnung und klicken Sie auf „Bearbeiten“. 4. Nachdem Sie „Auto (DHCP)“ auf „Manuell“ geändert haben, öffnen Sie „IPv4“ unten. 5. Nach dem Einschalten , geben Sie „8.8.8.8“ in das bevorzugte DNS ein. 6. Ändern Sie dann die bevorzugte DNS-Verschlüsselung in „Nur Verschlüsselung (DNS über HTTPS)“. 7. Nachdem die Änderungen abgeschlossen sind, klicken Sie auf „Speichern“ und Sie finden

Ziel der Dateiverschlüsselung ist es, Daten auf professionellem Niveau zu verschlüsseln, um die Datensicherheit effektiver zu gewährleisten! Nur durch die Beherrschung des richtigen Verschlüsselungsschlüssels kann der Entschlüsselungsvorgang durchgeführt werden, wodurch die Sicherheit der Informationsressourcen gewährleistet wird. Allerdings verfügt die Dateiverschlüsselungsfunktion von Win10 Home Edition noch nicht über diese Funktion. Kann Win10 Home Edition Ordner verschlüsseln? Antwort: Win10 Home Edition kann keine Ordner verschlüsseln. Tutorial zum Verschlüsseln von Dateien im Windows-System 1. Klicken Sie mit der rechten Maustaste auf die Datei oder den Ordner, die Sie verschlüsseln möchten (oder halten Sie die Taste eine Weile gedrückt) und wählen Sie dann die Funktion „Eigenschaften“. 2. Suchen Sie in der neuen erweiterten Benutzeroberfläche nach der Option „Erweitert“. Denken Sie nach dem Klicken zur Eingabe daran, die Option „Inhalt verschlüsseln, um Daten zu schützen“ unten zu aktivieren. 3. Nachdem die Einstellung abgeschlossen ist, klicken Sie auf „OK“.

In Apple-Handys können Benutzer Fotoalben nach ihren eigenen Bedürfnissen verschlüsseln. Einige Benutzer wissen nicht, wie sie es einrichten sollen. Sie können dem Memo die zu verschlüsselnden Bilder hinzufügen und das Memo dann sperren. Als nächstes stellt der Herausgeber die Methode zum Einrichten der Verschlüsselung mobiler Fotoalben für Benutzer vor. Schauen Sie sich das an. Apple-Handy-Tutorial So richten Sie die iPhone-Fotoalbum-Verschlüsselung ein A: Nachdem Sie dem Memo die Bilder hinzugefügt haben, die verschlüsselt werden müssen, gehen Sie zum Sperren des Memos, um eine detaillierte Einführung zu erhalten: 1. Öffnen Sie das Fotoalbum und wählen Sie das Bild aus, das verschlüsselt werden soll verschlüsselt, und klicken Sie dann unten auf [Hinzufügen zu]. 2. Wählen Sie [Zu Notizen hinzufügen]. 3. Geben Sie das Memo ein, suchen Sie das gerade erstellte Memo, geben Sie es ein und klicken Sie auf das Symbol [Senden] in der oberen rechten Ecke. 4. Klicken Sie unten auf [Gerät sperren].

Die Ordnerverschlüsselung ist eine gängige Datenschutzmethode, die den Inhalt eines Ordners verschlüsselt, sodass nur diejenigen auf die Dateien zugreifen können, die über das Entschlüsselungskennwort verfügen. Beim Verschlüsseln eines Ordners gibt es einige gängige Möglichkeiten, ein Passwort festzulegen, ohne die Datei zu komprimieren. Zunächst können wir die Verschlüsselungsfunktion des Betriebssystems nutzen, um ein Ordnerkennwort festzulegen. Für Windows-Benutzer können Sie es einrichten, indem Sie die folgenden Schritte ausführen: Wählen Sie den zu verschlüsselnden Ordner aus, klicken Sie mit der rechten Maustaste auf den Ordner und wählen Sie „Eigenschaften“.

Häufige Netzwerkkommunikations- und Sicherheitsprobleme und Lösungen in C# Im heutigen Internetzeitalter ist Netzwerkkommunikation zu einem unverzichtbaren Bestandteil der Softwareentwicklung geworden. In C# treten normalerweise einige Netzwerkkommunikationsprobleme auf, z. B. die Sicherheit der Datenübertragung, die Stabilität der Netzwerkverbindung usw. In diesem Artikel werden häufig auftretende Netzwerkkommunikations- und Sicherheitsprobleme in C# ausführlich erläutert und entsprechende Lösungen und Codebeispiele bereitgestellt. 1. Netzwerkkommunikationsprobleme Unterbrechung der Netzwerkverbindung: Während des Netzwerkkommunikationsprozesses kann die Netzwerkverbindung unterbrochen werden, was zu Problemen führen kann

Vollständige Liste der PHP-Verschlüsselungs- und Entschlüsselungsfunktionen: sichere Anwendungsmethoden von MD5, SHA1, Base64_encode und anderen Funktionen, die spezifische Codebeispiele erfordern. Bei der Entwicklung von Netzwerkanwendungen ist die Datenverschlüsselung und -entschlüsselung sehr wichtig. Als beliebte serverseitige Skriptsprache bietet PHP eine Vielzahl von Verschlüsselungs- und Entschlüsselungsfunktionen. In diesem Artikel werden häufig verwendete Funktionen und ihre sicheren Anwendungsmethoden vorgestellt und spezifische Codebeispiele bereitgestellt. MD5-Funktion Die MD5-Funktion ist die gebräuchlichste Verschlüsselungsfunktion, die eine Zeichenfolge beliebiger Länge in 32 Bit konvertieren kann

Einige Freunde möchten ihre Dateien schützen, wissen aber nicht, wie sie Win11-Dokumente verschlüsseln sollen. Tatsächlich können wir die Ordnerverschlüsselung direkt verwenden oder Software von Drittanbietern zum Verschlüsseln von Dateien verwenden. Ausführliches Tutorial zur Win11-Dokumentenverschlüsselung: 1. Suchen Sie zunächst die Datei, die Sie verschlüsseln möchten, klicken Sie mit der rechten Maustaste, um sie auszuwählen, und öffnen Sie „Eigenschaften“. 2. Klicken Sie dann in der Eigenschaftenspalte auf „Erweitert“. 3. Wählen Sie „Inhalt verschlüsseln, um Daten zu schützen“. " in „Erweitert“ und klicken Sie auf „OK“ 4. Klicken Sie dann zum Speichern auf „OK“. 5. Wählen Sie abschließend den gewünschten Verschlüsselungsmodus und klicken Sie auf „OK“, um das Dokument zu speichern und das Dokument zu verschlüsseln.
