Rumah > Java > javaTutorial > teks badan

Cara menggunakan operasi skrip Java dan Linux untuk penyulitan dan penyahsulitan fail

王林
Lepaskan: 2023-10-05 12:48:11
asal
1233 orang telah melayarinya

Cara menggunakan operasi skrip Java dan Linux untuk penyulitan dan penyahsulitan fail

Cara menggunakan operasi skrip Java dan Linux untuk penyulitan dan penyahsulitan fail

Pengenalan: Penyulitan dan penyahsulitan fail ialah teknologi keselamatan maklumat yang biasa melalui penyulitan, kandungan fail tidak boleh dilihat dan diubah suai oleh orang yang tidak dibenarkan dengan itu melindungi keselamatan fail. Artikel ini akan memperkenalkan cara menggunakan operasi skrip Java dan Linux untuk penyulitan dan penyahsulitan fail, serta memberikan contoh kod khusus.

1. Gunakan Java untuk penyulitan dan penyahsulitan fail. Berikut ialah contoh kod untuk penyulitan dan penyahsulitan fail menggunakan Java:

  1. Contoh kod penyulitan fail:

    import java.io.*;
    
    public class FileEncryption {
     public static void main(String[] args) {
         String sourceFile = "source.txt";
         String encryptedFile = "encrypted.txt";
         String key = "mykey";
    
         try {
             FileInputStream inputStream = new FileInputStream(sourceFile);
             FileOutputStream outputStream = new FileOutputStream(encryptedFile);
    
             byte[] buffer = new byte[1024];
             int bytesRead;
    
             while ((bytesRead = inputStream.read(buffer)) != -1) {
                 for (int i = 0; i < bytesRead; i++) {
                     buffer[i] = (byte) (buffer[i] ^ key.getBytes()[i % key.length()]);
                 }
                 outputStream.write(buffer, 0, bytesRead);
             }
    
             inputStream.close();
             outputStream.close();
    
             System.out.println("文件加密完成!");
         } catch (IOException e) {
             e.printStackTrace();
         }
     }
    }
    Salin selepas log masuk

  2. Contoh kod penyahsulitan fail:

    import java.io.*;
    
    public class FileDecryption {
     public static void main(String[] args) {
         String encryptedFile = "encrypted.txt";
         String decryptedFile = "decrypted.txt";
         String key = "mykey";
    
         try {
             FileInputStream inputStream = new FileInputStream(encryptedFile);
             FileOutputStream outputStream = new FileOutputStream(decryptedFile);
    
             byte[] buffer = new byte[1024];
             int bytesRead;
    
             while ((bytesRead = inputStream.read(buffer)) != -1) {
                 for (int i = 0; i < bytesRead; i++) {
                     buffer[i] = (byte) (buffer[i] ^ key.getBytes()[i % key.length()]);
                 }
                 outputStream.write(buffer, 0, bytesRead);
             }
    
             inputStream.close();
             outputStream.close();
    
             System.out.println("文件解密完成!");
         } catch (IOException e) {
             e.printStackTrace();
         }
     }
    }
    Salin selepas log masuk

Dalam contoh proses penyulitan dan penyahsulitan di atas, adalah melalui pembacaan Ini dicapai dengan mengambil aliran bait kandungan fail dan melakukan operasi XOR pada setiap bait. Kunci yang sama digunakan untuk penyulitan dan penyahsulitan, dan operasi penyulitan dan penyahsulitan maklumat dilaksanakan dengan mengitar semula setiap bait kunci untuk melaksanakan operasi XOR pada kandungan fail.

2. Gunakan skrip Linux untuk penyulitan dan penyahsulitan fail

Selain menggunakan Java untuk penyulitan dan penyahsulitan fail, anda juga boleh menggunakan bahasa skrip sistem Linux, seperti skrip Shell, untuk melaksanakan fungsi penyulitan dan penyahsulitan fail. Berikut ialah contoh kod untuk penyulitan dan penyahsulitan fail menggunakan skrip Shell:

  1. Contoh skrip penyulitan fail:

    #!/bin/bash
    
    sourceFile="source.txt"
    encryptedFile="encrypted.txt"
    key="mykey"
    
    while read -r line || [[ -n "$line" ]]; do
     encryptedLine=""
     for ((i=0; i<${#line}; i++)); do
         encryptedChar=$(printf "%d" "'${line:$i:1}")
         encryptedChar=$((encryptedChar ^ $(printf "%d" "'${key:$((i%${#key})):1}")))
         encryptedChar=$(printf "x$(printf "%x" "$encryptedChar")")
         encryptedLine+="${encryptedChar}"
     done
     echo "${encryptedLine}" >> "${encryptedFile}"
    done < "${sourceFile}"
    
    echo "文件加密完成!"
    Salin selepas log masuk

  2. Contoh skrip penyahsulitan fail:

    #!/bin/bash
    
    encryptedFile="encrypted.txt"
    decryptedFile="decrypted.txt"
    key="mykey"
    
    while read -r line || [[ -n "$line" ]]; do
     decryptedLine=""
     for ((i=0; i<${#line}; i++)); do
         decryptedChar=$(printf "%d" "'${line:$i:1}")
         decryptedChar=$((decryptedChar ^ $(printf "%d" "'${key:$((i%${#key})):1}")))
         decryptedChar=$(printf "x$(printf "%x" "$decryptedChar")")
         decryptedLine+="${decryptedChar}"
     done
     echo "${decryptedLine}" >> "${decryptedFile}"
    done < "${encryptedFile}"
    
    echo "文件解密完成!"
    Salin selepas log masuk

,Dalam kedua-dua contoh kod fail di atas dan proses penyahsulitan digunakan Ciri-ciri skrip Shell direalisasikan dengan membaca kandungan fail baris demi baris dan melaksanakan operasi XOR pada setiap aksara. Kunci yang sama digunakan untuk penyulitan dan penyahsulitan, dan operasi penyulitan dan penyahsulitan maklumat dilaksanakan dengan mengitar semula setiap aksara kunci untuk melaksanakan operasi XOR pada kandungan fail.

Kesimpulan: Artikel ini memperkenalkan cara menggunakan skrip Java dan Linux untuk penyulitan dan penyahsulitan fail, serta menyediakan contoh kod khusus. Sama ada anda memilih untuk menggunakan skrip Java atau Linux, anda boleh melaksanakan fungsi penyulitan dan penyahsulitan fail dengan mudah. Berdasarkan keperluan sebenar, anda boleh mengubah suai dan mengoptimumkan kod sampel untuk memenuhi keperluan penyulitan dan penyahsulitan khusus anda. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Cara menggunakan operasi skrip Java dan Linux untuk penyulitan dan penyahsulitan fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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