Jadual Kandungan
Penyulitan simetri dalam Java
Contoh
Output
Penjelasan
Titik untuk diingat
Kesimpulan
Rumah Java javaTutorial kriptografi penyulitan simetri dalam Java

kriptografi penyulitan simetri dalam Java

Sep 13, 2023 pm 03:49 PM
Penyulitan simetri pengaturcaraan java kriptografi

kriptografi penyulitan simetri dalam Java

Pengenalan

Penyulitan simetri, juga dikenali sebagai penyulitan kunci, ialah kaedah penyulitan di mana kunci yang sama digunakan untuk penyulitan dan penyahsulitan. Kaedah penyulitan ini adalah pantas dan cekap serta sesuai untuk menyulitkan sejumlah besar data. Algoritma penyulitan simetri yang paling biasa digunakan ialah Advanced Encryption Standard (AES).

Java menyediakan sokongan kuat untuk penyulitan simetri, termasuk kelas dalam pakej javax.crypto, seperti SecretKey, Cipher dan KeyGenerator.

Penyulitan simetri dalam Java

Kelas Java Cipher dalam pakej javax.crypto menyediakan fungsi kriptografi untuk penyulitan dan penyahsulitan. Ia membentuk teras rangka kerja Java Cryptozoology Extensions (JCE).

Di Java, kelas Cipher menyediakan fungsi penyulitan simetri, dan kelas KeyGenerator digunakan untuk menjana kunci untuk penyulitan simetri.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Mari kita lihat contoh penyulitan simetri mudah AES yang dilaksanakan dalam Java−

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Main {
   public static void main(String[] args) throws Exception {

      // Generate key
      SecretKey secretKey = KeyGenerator.getInstance("AES").generateKey();
   
      // Original message
      String originalMessage = "Hello, world!";
   
      // Create Cipher instance and initialize it to ENCRYPT_MODE
      Cipher cipher = Cipher.getInstance("AES");
      cipher.init(Cipher.ENCRYPT_MODE, secretKey);
   
      // Encrypt the message
      byte[] encryptedMessage = cipher.doFinal(originalMessage.getBytes(StandardCharsets.UTF_8));
   
      // Convert the encrypted message to Base64 encoded string
      String encodedMessage = Base64.getEncoder().encodeToString(encryptedMessage);
   
      System.out.println("Original Message: " + originalMessage);
      System.out.println("Encrypted Message: " + encodedMessage);
   
      // Reinitialize the cipher to DECRYPT_MODE
      cipher.init(Cipher.DECRYPT_MODE, secretKey);
   
      // Decrypt the message
      byte[] decryptedMessage = cipher.doFinal(Base64.getDecoder().decode(encodedMessage));
   
      System.out.println("Decrypted Message: " + new String(decryptedMessage, StandardCharsets.UTF_8));
   }
}
Salin selepas log masuk

Output

Apabila anda menjalankan program, anda akan melihat output yang serupa dengan yang berikut -

Original Message: Hello, world!
Encrypted Message: iWohhm/c89uBVaJ3j4YFkA==
Decrypted Message: Hello, world!
Salin selepas log masuk
Terjemahan bahasa Cina bagi

Penjelasan

ialah:

Penjelasan

Dalam kod di atas, kami mula-mula menjana kunci rahsia untuk penyulitan AES menggunakan kelas KeyGenerator.

Kemudian kami mencipta contoh kelas Cipher untuk AES dan memulakannya kepada ENCRYPT_MODE menggunakan kunci rahsia.

Seterusnya, kami mentakrifkan mesej mentah "Helo, dunia!" dan menyulitkannya menggunakan kaedah doFinal Cipher. Kami juga menukar bait mesej yang disulitkan kepada rentetan yang dikodkan Base64 untuk memudahkan proses.

Kemudian kami mencetak mesej asal dan mesej yang disulitkan ke konsol.

Untuk menunjukkan penyahsulitan, kami menggunakan kekunci yang sama untuk memulakan semula kata laluan kepada DECRYPT_MODE dan menyahsulit mesej yang disulitkan. Akhirnya, kami mencetak mesej yang dinyahsulit ke konsol.

Memandangkan kunci rahsia unik dijana setiap kali anda menjalankan program, mesej yang disulitkan akan berbeza setiap kali.

Perkara penting untuk diperhatikan di sini ialah mesej yang dinyahsulit adalah sama dengan mesej asal, yang menunjukkan bahawa proses penyulitan dan penyahsulitan kami berfungsi dengan baik.

Titik untuk diingat

Penyulitan simetri ialah alat yang berkuasa untuk mengekalkan kerahsiaan, tetapi penting untuk diingat bahawa data anda hanya selamat seperti kunci anda. Jika orang yang tidak dibenarkan mendapatkan kunci rahsia anda, mereka boleh menyahsulit data anda. Oleh itu, adalah penting untuk memastikan kunci rahsia selamat.

Kesimpulan

Melaksanakan penyulitan simetri dalam Java adalah proses yang mudah, terima kasih kepada pakej javax.crypto. Memahami cara menggunakan kelas Cipher dan KeyGenerator untuk menyulitkan dan menyahsulit data boleh meningkatkan keselamatan aplikasi Java anda dengan ketara.

Atas ialah kandungan terperinci kriptografi penyulitan simetri dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menulis penjana laporan prestasi pelajar yang mudah menggunakan Java? Bagaimana untuk menulis penjana laporan prestasi pelajar yang mudah menggunakan Java? Nov 03, 2023 pm 02:57 PM

Bagaimana untuk menulis penjana laporan prestasi pelajar yang mudah menggunakan Java? Penjana Laporan Prestasi Pelajar ialah alat yang membantu guru atau pendidik menjana laporan prestasi pelajar dengan cepat. Artikel ini akan memperkenalkan cara menggunakan Java untuk menulis penjana laporan prestasi pelajar yang mudah. Pertama, kita perlu menentukan objek pelajar dan objek gred pelajar. Objek pelajar mengandungi maklumat asas seperti nama pelajar dan nombor pelajar, manakala objek skor pelajar mengandungi maklumat seperti skor mata pelajaran pelajar dan gred purata. Berikut ialah definisi objek pelajar mudah: awam

Bagaimana untuk menulis sistem pengurusan kehadiran pelajar yang mudah menggunakan Java? Bagaimana untuk menulis sistem pengurusan kehadiran pelajar yang mudah menggunakan Java? Nov 02, 2023 pm 03:17 PM

Bagaimana untuk menulis sistem pengurusan kehadiran pelajar yang mudah menggunakan Java? Dengan perkembangan teknologi yang berterusan, sistem pengurusan sekolah juga sentiasa dikemas kini dan dinaik taraf. Sistem pengurusan kehadiran pelajar adalah bahagian penting daripadanya. Ia boleh membantu sekolah mengesan kehadiran pelajar dan menyediakan analisis data dan laporan. Artikel ini akan memperkenalkan cara menulis sistem pengurusan kehadiran pelajar yang mudah menggunakan Java. 1. Analisis Keperluan Sebelum mula menulis, kita perlu menentukan fungsi dan keperluan sistem. Fungsi asas termasuk pendaftaran dan pengurusan maklumat pelajar, merekod data kehadiran pelajar dan

Cara menggunakan pengaturcaraan Java untuk melaksanakan carian lokasi alamat API Amap Cara menggunakan pengaturcaraan Java untuk melaksanakan carian lokasi alamat API Amap Jul 30, 2023 pm 07:41 PM

Cara menggunakan pengaturcaraan Java untuk melaksanakan carian lokasi alamat API Amap Pengenalan: Amap ialah perkhidmatan peta yang sangat popular dan digunakan secara meluas dalam pelbagai aplikasi. Antaranya, fungsi carian berhampiran lokasi alamat menyediakan keupayaan untuk mencari POI (Tempat Menarik) berdekatan. Artikel ini akan menerangkan secara terperinci cara menggunakan pengaturcaraan Java untuk melaksanakan fungsi carian lokasi alamat API Amap dan menggunakan contoh kod untuk membantu pembaca memahami dan menguasai teknologi berkaitan. 1. Memohon pembangunan Amap

Program Java: Gunakan huruf besar pertama setiap perkataan dalam rentetan Program Java: Gunakan huruf besar pertama setiap perkataan dalam rentetan Aug 20, 2023 pm 03:45 PM

Astringisaclassof'java.lang'packagethatstoresaseriesofcharacters.Thosecharacterreally actuallyString-typeobjects.Kami mesti menutup nilai rentetan dalam petikan berganda.Secara amnya, kami boleh mewakili aksara dalam huruf kecil dan dua huruf dalam Java.Dan, ia juga mungkin untuk ditukar

ChatGPT Java: Bagaimana untuk membina sistem pengesyoran muzik pintar ChatGPT Java: Bagaimana untuk membina sistem pengesyoran muzik pintar Oct 27, 2023 pm 01:55 PM

ChatGPTJava: Bagaimana untuk membina sistem pengesyoran muzik pintar, contoh kod khusus diperlukan Pengenalan: Dengan perkembangan pesat Internet, muzik telah menjadi bahagian penting dalam kehidupan seharian manusia. Apabila platform muzik terus muncul, pengguna sering menghadapi masalah biasa: bagaimana untuk mencari muzik yang sesuai dengan citarasa mereka? Untuk menyelesaikan masalah ini, sistem pengesyoran muzik pintar telah wujud. Artikel ini akan memperkenalkan cara menggunakan ChatGPTJava untuk membina sistem pengesyoran muzik pintar dan menyediakan contoh kod khusus. Tidak.

Cara menggunakan Java untuk melaksanakan fungsi statistik inventori sistem pengurusan gudang Cara menggunakan Java untuk melaksanakan fungsi statistik inventori sistem pengurusan gudang Sep 24, 2023 pm 01:13 PM

Cara menggunakan Java untuk melaksanakan fungsi statistik inventori sistem pengurusan gudang Dengan perkembangan e-dagang dan peningkatan kepentingan pengurusan pergudangan, fungsi statistik inventori telah menjadi bahagian yang amat diperlukan dalam sistem pengurusan gudang. Sistem pengurusan gudang yang ditulis dalam Java boleh melaksanakan fungsi statistik inventori melalui kod ringkas dan cekap, membantu syarikat mengurus storan gudang dengan lebih baik dan meningkatkan kecekapan operasi. 1. Pengenalan latar belakang Sistem pengurusan gudang merujuk kepada kaedah pengurusan yang menggunakan teknologi komputer untuk melaksanakan pengurusan data, pemprosesan maklumat dan analisis membuat keputusan ke atas gudang perusahaan. Statistik inventori ialah

Alat pemantauan dan penalaan prestasi biasa dalam pembangunan Java Alat pemantauan dan penalaan prestasi biasa dalam pembangunan Java Oct 10, 2023 pm 01:49 PM

Alat pemantauan dan penalaan prestasi biasa dalam pembangunan Java memerlukan contoh kod khusus Pengenalan: Dengan pembangunan berterusan teknologi Internet, Java, sebagai bahasa pengaturcaraan yang stabil dan cekap, digunakan secara meluas dalam proses pembangunan. Walau bagaimanapun, disebabkan sifat merentas platform Java dan kerumitan persekitaran berjalan, isu prestasi telah menjadi faktor yang tidak boleh diabaikan dalam pembangunan. Untuk memastikan ketersediaan tinggi dan respons pantas aplikasi Java, pembangun perlu memantau dan menala prestasi. Artikel ini akan memperkenalkan beberapa pemantauan dan penalaan prestasi Java biasa

Bagaimana untuk melaksanakan algoritma carian pertama luas menggunakan java Bagaimana untuk melaksanakan algoritma carian pertama luas menggunakan java Sep 19, 2023 pm 06:04 PM

Cara menggunakan Java untuk melaksanakan algoritma carian pertama keluasan algoritma Carian Pertama Keluasan (Breadth-FirstSearch, BFS) ialah algoritma carian yang biasa digunakan dalam teori graf, yang boleh mencari laluan terpendek antara dua nod dalam graf. BFS digunakan secara meluas dalam banyak aplikasi, seperti mencari laluan terpendek dalam mez, perangkak web, dsb. Artikel ini akan memperkenalkan cara menggunakan bahasa Java untuk melaksanakan algoritma BFS, dan melampirkan contoh kod tertentu. Pertama, kita perlu menentukan kelas untuk menyimpan nod graf Kelas ini mengandungi nod

See all articles