DES etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
DES etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

25 Ocak 2011 Salı

Java DES algoritmasını kullanarak deşifreleme işlemleri

package org.kodejava.example.security;

import java.io.*;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SealedObject;
import javax.crypto.SecretKey;

 
public class ObjectEncrypt {
    //
    //İleride kullanılması için dosya deposu objesi yaratılıyor.
    //
    private static void writeToFile(String filename, Object object) throws Exception {
        FileOutputStream fos = null;
        ObjectOutputStream oos = null;

 
        try {
            fos = new FileOutputStream(new File(filename));
            oos = new ObjectOutputStream(fos);
            oos.writeObject(object);
            oos.flush();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (oos != null) {
                oos.close();
            }
            if (fos != null) {
                fos.close();
            }
        }
    }

     
    public static void main(String[] args) throws Exception {
        //
        // Geçici anahtar geçici bir dosyaya yazılır
        //
        SecretKey key = KeyGenerator.getInstance("DES").generateKey();
        writeToFile("secretkey.dat", key);

 
        //
        // Şifreleme olması için nesne yaratılır
        //
        Cipher cipher = Cipher.getInstance("DES");
        cipher.init(Cipher.ENCRYPT_MODE, key);

 
        //
        // Şifrelemeyi SealedObject kullanarak yapıyoruz.(mesaj yazılır)
        //
        SealedObject sealedObject = new SealedObject("THIS IS A SECRET MESSAGE!", cipher);

 
        //
        // binary (ikili dosya) olarak nesneye yazılır
        //
        writeToFile("sealed.dat", sealedObject);
    }
}

Java DES algoritmasını kullanarak şifreleme işlemleri



package org.kodejava.example.security;
import java.io.*;
import javax.crypto.SecretKey;
import javax.crypto.Cipher;
import javax.crypto.SealedObject;

public class ObjectDecrypt {
    //
    // Nesneyi okumak için dosyayı bir yerde saklanmalı
    //
    private static Object readFromFile(String filename) throws Exception {
        FileInputStream fis = null;
        ObjectInputStream ois = null;
        Object object = null;
        try {
            fis = new FileInputStream(new File(filename));
            ois = new ObjectInputStream(fis);
            object = ois.readObject();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (ois != null) {
                ois.close();
            }
            if (fis != null) {
                fis.close();
            }
        }
        return object;
    }
    public static void main(String[] args) throws Exception {
        //
        // Önceden oluşmuş olan secretkey okunur.
        //
        SecretKey key = (SecretKey) readFromFile("secretkey.dat");

        //
        // Sealed objesi okunur
        //
        SealedObject sealedObject = (SealedObject) readFromFile("sealed.dat");

 
        //
        // Şifreyi çözmesi beklenen nesne yazılır
        //
        String algorithmName = sealedObject.getAlgorithm();
        Cipher cipher = Cipher.getInstance(algorithmName);
        cipher.init(Cipher.DECRYPT_MODE, key);

 
        String text = (String) sealedObject.getObject(cipher);
        System.out.println("Text = " + text);
    }
}