Dieser Artikel beschreibt die Definition und Verwendung des von Java implementierten symmetrischen Verschlüsselungsalgorithmus mit 3DES. Teilen Sie es für Ihre Referenz wie folgt weiter:
1. Warum 3des erscheint
1. Rückkehr zum Kirkhoff -Prinzip
2. Es gibt Sicherheitsprobleme
Zwei 3DES (Triple Des oder Dese) Vorteile
1. Verbesserung der Schlüssellänge
2. Erhöhen Sie die Anzahl der Iterationen
Drei 3DES -verwandte Parameter
Vier 3DES -Code -Implementierung
Paket com.imooc.security.des; Import Java.security.Key; Import Java.security.securerandom; Import Javax.Crypto.Cipher; javax.crypto.spec.desedekeyspec; import org.apache.commons.codec.base.base64; öffentliche Klasse IMOOC3DES {private statische String src = "Cakin24 Security 3DES"; public static void main (String [] args) {jdk3des (); } public static void jdk3des () {try {// Taste KeyGenerator KeyGenerator = KeyGenerator.getInstance ("Desede"); //keygenerator.init(168); keygenerator.init (new Securerandom ()); // Standard Länge SecretKey SecretKey = KeyGenerator.generateKey (); byte [] byteskey = secryKey.getEcoded (); // Key Conversion Desedekeyspec Desedekeyspec = New Desekeyspec (Byteskey); SecretKeyFactory Factory = secryKeyFactory.getInstance ("Desede"); Key ConvertSecretkey = factory.generateSecret (Desedekeyspec); // Verschlüsselung Cipher Cipher = Cipher.getInstance ("Desede/ECB/PKCS5Padding"); cipher.init (cipher.encrypt_mode, convertsecretkey); byte [] result = cipher.dofinal (src.getBytes ()); System.out.println ("JDK 3DES Encrypt:" + Base64.Encodebase64String (Ergebnis)); // entschlüsseln cipher.init (cipher.decrypt_mode, convertSecretkey); result = cipher.dofinal (Ergebnis); System.out.println ("Jdk 3des entschlüsselt:" + neuer String (Ergebnis)); } catch (Ausnahme e) {e.printstacktrace (); }}}Fünf Leistungen
JDK 3DES ENCRYPT: 6T7A/RNARDZSL+MTEZVBFXWNNZR0YJBW
JDK 3des entschlüsselt: Cakin24 Security 3des
Hinweis: org.apache.commons.codec.binary.Base64 wird hier eingeführt, und Sie können hier klicken , um diese Site herunterzuladen .
PS: Freunde, die an Verschlüsselung und Entschlüsselung interessiert sind, können sich auch auf die Online -Tools dieser Website beziehen:
Online -Des -Verschlüsselung/Entschlüsselungstools:
http://tools.vevb.com/password/des_encode
Text Online -Verschlüsselung und Entschlüsselung (einschließlich AES, DES, RC4 usw.):
http://tools.vevb.com/password/txt_encode
MD5 Online -Verschlüsselungstool:
http://tools.vevb.com/password/createmd5password
Online MD5/Hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160-Verschlüsselungsinstrument:
http://tools.vevb.com/password/hash_md5_sha
Online SHA1/SHA224/SHA256/SHA384/SHA512 Verschlüsselungsinstrument:
http://tools.vevb.com/password/sha_encode
Weitere Informationen zu Java -verwandten Inhalten finden Sie in den Themen dieser Website: "Zusammenfassung der Java -Mathematischen Betriebsfähigkeiten", "Tutorial zu Java -Datenstrukturen und Algorithmen", "Zusammenfassung von Java -Zeichen und String -Operation -Fähigkeiten", "Zusammenfassung der Java -Operation DOM -Knotenfähigkeiten" und "Zusammenfassung der Fähigkeiten der Java -Operation Fähigkeiten"
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.