Rumah > Java > javaTutorial > Analisis contoh penyulitan dan penyahsulitan PHP dan Java des

Analisis contoh penyulitan dan penyahsulitan PHP dan Java des

WBOY
Lepaskan: 2023-04-29 09:40:20
ke hadapan
1401 orang telah melayarinya

Penyulitan des ialah kaedah penyulitan simetri yang digunakan secara meluas di Internet PHP menyokong penyulitan des melalui perpustakaan sambungan mcrypt Untuk menggunakan penyulitan des dalam Php, anda perlu memasang perpustakaan sambungan mcrypt dahulu

. Berikut ialah contoh penyulitan dan penyahsulitan

Salin kod seperti berikut:

$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB>($iv_icryptize_ECB>($iv_size_ECB>); , MCRYPT_RAND) ;
$key = "Ini adalah kunci yang sangat rahsia";//Key
$text = "Temui saya pada pukul 11 ​​di belakang monumen.";//Kandungan yang perlu disulitkan
gema ($teks) . /Kandungan Disulitkan
gema mcrypt_decrypt(MCRYPT_RIJNDAEL_256,$key,base64_decode($crypttext),MCRYPT_MODE_ECB,$iv);//Kandungan yang dinyahsulit


MCRYPT_RIJNDAEL_128, selalunya digunakan dalam algoritma. Terdapat tiga jenis: MCRYPT_RIJNDAEL_192 dan MCRYPT_RIJNDAEL_256 berikut 128, 192, dan 256 mewakili bilangan bit kunci rahsia (iaitu, Kunci yang disulitkan, contohnya, jika MCRYPT_RIJNDAEL_128 panjangnya digunakan akan menjadi 128 bit apabila disulitkan dengan algoritma ini, seperti $key = 'fjjda0&9^$$#+*%$fada', iaitu 20 aksara Dalam penyulitan sebenar, hanya 16 aksara pertama digunakan untuk penyulitan (16*8 =128), yang digunakan dalam PHP yang kurang daripada 128bit '.

import javax.crypto.Cipher; 
import javax.crypto.spec.SecretKeySpec; 
  
import org.apache.commons.codec.binary.Base64; 
  
Keselamatan kelas awam { 
    penyulitan String statik awam(Input rentetan, Kunci rentetan){ 
        bait[] crypted = null; 
        cuba{ 
            SecretKeySpec skey = SecretKeySpec baharu(key.getBytes(), "AES"); 
            Sifir sifir = Cipher.getInstance("AES/ECB/PKCS5Padding"); 
            cipher.init(Cipher.ENCRYPT_MODE, skey); 
            crypted = cipher.doFinal(input.getBytes()); 
        }tangkapan(Pengecualian e){ 
        System.out.println(e.toString()); 
    } 
    kembalikan String baharu(Base64.encodeBase64(crypted)); 

  
    nyahsulit String statik awam (Input rentetan, Kunci rentetan){ 
        bait[] output = null; 
        cuba{ 
            SecretKeySpec skey = SecretKeySpec baharu(key.getBytes(), "AES"); 
            Sifir sifir = Cipher.getInstance("AES/ECB/PKCS5Padding"); 
            cipher.init(Cipher.DECRYPT_MODE, skey); 
            output = cipher.doFinal(Base64.decodeBase64(input)); 
            }tangkapan (Pengecualian e){ 
            System.out.println(e.toString()); 
        } 
        kembalikan Rentetan baharu(output); 
    } 
  
    utama lompang statik awam(String[] args) { 
        Kunci rentetan = "1234567891234567"; 
        Data rentetan = "contoh"; 
         
        System.out.println(Security.encrypt(data, key)); 
         
        System.out.println(Security.decrypt(Security.encrypt(data, key), key)); 
         
             
    }    

Atas ialah kandungan terperinci Analisis contoh penyulitan dan penyahsulitan PHP dan Java des. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan