


Penyulitan data perkhidmatan mikro dan fungsi penyahsulitan yang ditulis dalam Java
Fungsi penyulitan dan penyahsulitan data perkhidmatan mikro yang ditulis dalam Java
Dalam era Internet hari ini, dengan populariti penghantaran data dan peningkatan risiko kebocoran maklumat sensitif, keselamatan data menjadi semakin penting. Peningkatan seni bina perkhidmatan mikro menyediakan penyelesaian yang lebih fleksibel dan berskala untuk penyulitan dan penyahsulitan data. Artikel ini akan memperkenalkan cara menggunakan Java untuk menulis fungsi penyulitan dan penyahsulitan data perkhidmatan mikro yang ringkas tetapi berkuasa, dan memberikan contoh kod yang sepadan.
Pertama, kita perlu memilih algoritma penyulitan yang boleh dipercayai. Di sini, kami memilih untuk menggunakan algoritma AES (Advanced Encryption Standard), yang merupakan algoritma penyulitan simetri yang sangat popular dan selamat serta boleh dipercayai. Algoritma AES menyokong panjang kunci 128-bit, 192-bit dan 256-bit Kita boleh memilih panjang kunci yang berbeza mengikut keperluan sebenar. Selain itu, kita juga perlu memilih mod pelapik dan mod penyulitan yang sesuai. Di sini, kami memilih untuk menggunakan mod pelapik PKCS5Padding dan mod penyulitan CBC.
Seterusnya, kami menggunakan perpustakaan kriptografi Java untuk melaksanakan operasi penyulitan dan penyahsulitan. Pertama, kita perlu menjana kunci dan menyimpannya di tempat yang selamat. Di sini kami menggunakan kelas KeyGenerator yang disediakan oleh Java untuk menjana kunci.
import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; public class EncryptionUtils { public static SecretKey generateKey() throws NoSuchAlgorithmException { KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); keyGenerator.init(128); return keyGenerator.generateKey(); } }
Selepas menjana kunci, kami boleh menggunakan kunci untuk melaksanakan operasi penyulitan dan penyahsulitan. Di bawah ialah contoh kod yang menggunakan kunci untuk menyulitkan data.
import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.util.Base64; public class EncryptionUtils { public static String encryptData(String data, SecretKey secretKey, String initVector) throws GeneralSecurityException { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, secretKey, new IvParameterSpec(initVector.getBytes(StandardCharsets.UTF_8))); byte[] encryptedData = cipher.doFinal(data.getBytes(StandardCharsets.UTF_8)); return Base64.getEncoder().encodeToString(encryptedData); } }
Dalam kod di atas, kami menggunakan pengekodan Base64 untuk menukar data yang disulitkan untuk memudahkan penghantaran dan penyimpanan pada rangkaian. Seterusnya, kami memberikan contoh kod untuk menyahsulit data menggunakan kunci.
import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.util.Base64; public class EncryptionUtils { public static String decryptData(String encryptedData, SecretKey secretKey, String initVector) throws GeneralSecurityException { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, secretKey, new IvParameterSpec(initVector.getBytes(StandardCharsets.UTF_8))); byte[] decryptedData = cipher.doFinal(Base64.getDecoder().decode(encryptedData)); return new String(decryptedData, StandardCharsets.UTF_8); } }
Dalam kod di atas, kami menggunakan penyahkodan Base64 untuk memulihkan data yang disulitkan.
Akhir sekali, kami boleh merangkumkan fungsi penyulitan dan penyahsulitan di atas ke dalam API perkhidmatan mikro untuk memudahkan panggilan sistem lain. Di bawah ialah kod contoh perkhidmatan mikro yang mudah.
import org.springframework.web.bind.annotation.*; import javax.crypto.SecretKey; import java.security.NoSuchAlgorithmException; import java.util.HashMap; import java.util.Map; @RestController @RequestMapping("/encryption") public class EncryptionController { private SecretKey secretKey; public EncryptionController() throws NoSuchAlgorithmException { this.secretKey = EncryptionUtils.generateKey(); } @PostMapping("/encrypt") public Map<String, String> encryptData(@RequestBody Map<String, String> data) throws GeneralSecurityException { String encryptedData = EncryptionUtils.encryptData(data.get("data"), secretKey, data.get("initVector")); Map<String, String> result = new HashMap<>(); result.put("encryptedData", encryptedData); return result; } @PostMapping("/decrypt") public Map<String, String> decryptData(@RequestBody Map<String, String> data) throws GeneralSecurityException { String decryptedData = EncryptionUtils.decryptData(data.get("encryptedData"), secretKey, data.get("initVector")); Map<String, String> result = new HashMap<>(); result.put("decryptedData", decryptedData); return result; } }
Dalam kod di atas, kami menggunakan rangka kerja Spring untuk melaksanakan antara muka HTTP yang mudah, di mana /encryption/encrypt
接口用于加密数据,/encryption/decrypt
antara muka digunakan untuk menyahsulit data. Parameter permintaan menggunakan format JSON dan hasil yang disulitkan atau dinyahsulit dikembalikan.
Ringkasnya, kami menulis fungsi penyulitan dan penyahsulitan data perkhidmatan mikro yang ringkas tetapi berkuasa menggunakan Java. Gunakan algoritma AES untuk menyulitkan dan menyahsulit data, dan merangkumnya ke dalam API perkhidmatan mikro yang boleh dipanggil oleh sistem lain. Ini boleh memastikan keselamatan data semasa penghantaran dan penyimpanan serta meningkatkan keselamatan keseluruhan sistem.
Atas ialah kandungan terperinci Penyulitan data perkhidmatan mikro dan fungsi penyahsulitan yang ditulis dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Petua pembangunan Vue3+TS+Vite: Cara menyulitkan dan menyimpan data Dengan perkembangan pesat teknologi Internet, keselamatan data dan perlindungan privasi menjadi semakin penting. Dalam persekitaran pembangunan Vue3+TS+Vite, cara menyulitkan dan menyimpan data adalah masalah yang perlu dihadapi oleh setiap pembangun. Artikel ini akan memperkenalkan beberapa teknik penyulitan dan storan data biasa untuk membantu pembangun meningkatkan keselamatan aplikasi dan pengalaman pengguna. 1. Penyulitan Data Penyulitan Data Bahagian Hadapan Penyulitan Bahagian Hadapan ialah bahagian penting dalam melindungi keselamatan data. Biasa digunakan

PHP dan SQLite: Cara Memampat dan Menyulitkan Data Dalam kebanyakan aplikasi web, keselamatan data dan penggunaan ruang storan adalah pertimbangan yang sangat penting. PHP dan SQLite ialah dua alat yang digunakan secara meluas, dan artikel ini akan memperkenalkan cara menggunakannya untuk pemampatan dan penyulitan data. SQLite ialah enjin pangkalan data terbenam ringan yang tidak mempunyai proses pelayan yang berasingan tetapi berinteraksi secara langsung dengan aplikasi. PHP ialah bahasa skrip sebelah pelayan yang popular yang digunakan secara meluas untuk membina dinamik

Bagaimana untuk menyulitkan dan menyahsulit data dalam MySQL? Abstrak: Keselamatan data adalah aspek penting dalam pengurusan pangkalan data. Artikel ini akan memperkenalkan cara menggunakan algoritma penyulitan untuk menyulitkan dan menyahsulit data dalam MySQL untuk meningkatkan keselamatan data. 1. Pengenalan Dalam masyarakat maklumat moden, isu keselamatan data menjadi semakin penting. Data yang disimpan dalam pangkalan data mungkin mengandungi maklumat sensitif, seperti kata laluan pengguna, nombor akaun bank, dsb. Untuk mengelakkan kebocoran data dan pemerolehan haram, kami perlu menyulitkan dan menyimpan maklumat sensitif ini. MySQL

Membangunkan dengan MySQL dan PowerShell: Cara Melaksanakan Fungsi Penyulitan dan Penyahsulitan Data Gambaran Keseluruhan: Dalam aplikasi Internet moden, melindungi keselamatan data sensitif adalah penting. Untuk memastikan privasi pengguna dan integriti data, pembangun sering menggunakan teknologi penyulitan data. Artikel ini akan memperkenalkan cara menggunakan pangkalan data MySQL dan skrip PowerShell untuk melaksanakan fungsi penyulitan dan penyahsulitan data. 1. Penyulitan data dalam pangkalan data MySQL MySQL menyediakan pelbagai fungsi penyulitan dan algoritma untuk memastikan data disimpan dalam

Cara menggunakan Vue untuk penyulitan data dan penghantaran selamat Pengenalan: Dengan perkembangan Internet, keselamatan data telah mendapat lebih banyak perhatian. Dalam pembangunan aplikasi web, penyulitan data dan penghantaran selamat adalah cara penting untuk melindungi privasi pengguna dan maklumat sensitif. Sebagai rangka kerja JavaScript yang popular, Vue menyediakan pelbagai alatan dan pemalam yang boleh membantu kami mencapai penyulitan data dan penghantaran selamat. Artikel ini akan memperkenalkan cara menggunakan Vue untuk penyulitan data dan penghantaran selamat, dan menyediakan contoh kod untuk rujukan. 1. Penyulitan data dan penyulitan data

Pembangunan Java: Bagaimana untuk melaksanakan penyulitan dan penyahsulitan data, contoh kod khusus diperlukan Pengenalan: Dalam konteks zaman maklumat moden, keselamatan data telah menjadi semakin penting. Bagi pembangun, cara melindungi keselamatan data pengguna adalah kemahiran penting. Penyulitan dan penyahsulitan data adalah salah satu cara penting keselamatan data. Artikel ini akan memperkenalkan cara menggunakan bahasa Java untuk melaksanakan penyulitan dan penyahsulitan data, serta memberikan contoh kod khusus. 1. Pengenalan kepada algoritma penyulitan data Penyulitan data merujuk kepada pemprosesan data asal melalui algoritma tertentu supaya ia boleh diproses tanpa

Penyulitan dan Penyahsulitan Data ThinkPHP6: Melindungi Keselamatan Data Sensitif Gambaran Keseluruhan: Dengan perkembangan pesat Internet, isu keselamatan data menjadi semakin penting. Terutamanya dalam pembangunan aplikasi rangkaian, perlindungan beberapa data sensitif adalah penting. Rangka kerja ThinkPHP6 menyediakan mekanisme penyulitan dan penyahsulitan data yang berkuasa, yang boleh meningkatkan keselamatan data dengan berkesan dengan menyulitkan data sensitif. Menggunakan fungsi penyulitan ThinkPHP6 Rangka kerja ThinkPHP6 mempunyai pelbagai fungsi penyulitan terbina dalam, yang boleh digunakan mengikut keperluan.

Analisis Vue dan komunikasi sisi pelayan: memastikan keselamatan data komunikasi sisi pelayan Vue, yang diwarisi daripada rangka kerja bahagian hadapan Vue.js, ialah teknologi pembangunan Web yang biasa digunakan dan menyediakan pembangun cara yang lebih cekap dan selamat untuk berinteraksi dengan. data. Dalam artikel ini, kami akan menyelidiki mekanisme Vue dan komunikasi sisi pelayan, memfokuskan pada cara memastikan keselamatan data. Biasanya, Vue berkomunikasi dengan pelayan melalui protokol HTTP untuk mendapatkan atau menyerahkan data. Untuk memastikan keselamatan penghantaran data, kita perlu mengambil langkah utama berikut.
