” mavzusida tayyorlangan individual loyiha 1


Download 0.76 Mb.
bet8/12
Sana21.01.2023
Hajmi0.76 Mb.
#1107129
1   ...   4   5   6   7   8   9   10   11   12
Bog'liq
Individual loyiha

Chiqish:
Password: Knf@123
Encrypted text: 4DTHqnctCuk=
Decrypted text: Knf@123
2-misol: Blowfish yordamida fayllarni shifrlash va shifrni ochish
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
public class BlowfishFileEncryptionDemo {
private static final String ALGORITHM = "Blowfish";
private static String key= "knowledgefactory";
private static final String SAMPLE_FILE_PATH =
"/home/user/Desktop/cryptotest/Sample.txt";
private static final String ENCRYPTED_FILE_PATH =
"/home/user/Desktop/cryptotest/file.encrypted";
private static final String DECRYPTED_FILE_PATH =
"/home/user/Desktop/cryptotest/decryptedfile.txt";
public static void main(String[] args) {
File sampleFile = new File(SAMPLE_FILE_PATH);
File encryptedFile = new File(ENCRYPTED_FILE_PATH);
File decryptedFile = new File(DECRYPTED_FILE_PATH);
try {
BlowfishFileEncryptionDemo.encrypt(sampleFile, encryptedFile);
BlowfishFileEncryptionDemo.decrypt(encryptedFile, decryptedFile);
} catch (Exception e) {
e.printStackTrace();
} }
public static void encrypt(File sampleFile, File outputFile)
throws Exception {
doCrypto(Cipher.ENCRYPT_MODE, sampleFile, outputFile);
}
public static void decrypt(File sampleFile, File outputFile)
throws Exception {
doCrypto(Cipher.DECRYPT_MODE, sampleFile, outputFile);
}
private static void doCrypto(int cipherMode, File sampleFile,
File outputFile) throws Exception {
Key secretKey = new SecretKeySpec(key.getBytes(), ALGORITHM);
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(cipherMode, secretKey);
InputStream inputStream = new FileInputStream(sampleFile);
byte[] inputBytes = new byte[(int) sampleFile.length()];
inputStream.read(inputBytes);
byte[] outputBytes = cipher.doFinal(inputBytes);
OutputStream outputStream = new FileOutputStream(outputFile);
outputStream.write(outputBytes);
inputStream.close();
outputStream.close();
} }

Download 0.76 Mb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling