Hallo,
ich verzweifel gerade an meinem Versuch einen symmetrischen Verschlüsseler zu programmieren, der den Quelltext aus einer TextArea nimmt und das Verschlüsselte in ein anderes ausgibt...
Danke im Voraus!
[Java]
import java.io.* ;
import java.awt.* ;
import java.awt.event.* ;
import javax.crypto.*;
import java.security.*;
import java.util.*;
import javax.crypto.spec.*;
public class Kryptoh {
SecretKeySpec myKey ;
public SecretKeySpec getAESKey(String passwort) throws Exception
{
String keyStri = passwort ;
byte [] key = (keyStri.getBytes("UFT-8"));
MessageDigest sha = MessageDigest.getInstance("MD5");
key = sha.digest (key);
key = Arrays.copyOf(key,16);
SecretKeySpec secretKeySpec = new SecretKeySpec (key, "AES");
this.myKey = secretKeySpec;
return secretKeySpec;
}
public void makeAES (String eingabeName, String ausgabeName, SecretKeySpec key) throws Exception
{
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, key);
//InputStream in = new FileInputStream (eingabeName);
byte [] bytes = new byte[in.available()];
in.read(bytes);
in.close();
byte [] encryptes = cipher.doFinal(bytes);
FileOutputStream fout = new FileOutputStream (ausgabeName);
fout.write(encryptes);
fout.flush ();
fout.close ();
} // end of class Actionx
}
[/code]
ich verzweifel gerade an meinem Versuch einen symmetrischen Verschlüsseler zu programmieren, der den Quelltext aus einer TextArea nimmt und das Verschlüsselte in ein anderes ausgibt...
Danke im Voraus!
[Java]
import java.io.* ;
import java.awt.* ;
import java.awt.event.* ;
import javax.crypto.*;
import java.security.*;
import java.util.*;
import javax.crypto.spec.*;
public class Kryptoh {
SecretKeySpec myKey ;
public SecretKeySpec getAESKey(String passwort) throws Exception
{
String keyStri = passwort ;
byte [] key = (keyStri.getBytes("UFT-8"));
MessageDigest sha = MessageDigest.getInstance("MD5");
key = sha.digest (key);
key = Arrays.copyOf(key,16);
SecretKeySpec secretKeySpec = new SecretKeySpec (key, "AES");
this.myKey = secretKeySpec;
return secretKeySpec;
}
public void makeAES (String eingabeName, String ausgabeName, SecretKeySpec key) throws Exception
{
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, key);
//InputStream in = new FileInputStream (eingabeName);
byte [] bytes = new byte[in.available()];
in.read(bytes);
in.close();
byte [] encryptes = cipher.doFinal(bytes);
FileOutputStream fout = new FileOutputStream (ausgabeName);
fout.write(encryptes);
fout.flush ();
fout.close ();
} // end of class Actionx
}
[/code]
Java:
import java.io.* ;
import java.awt.* ;
import java.awt.event.* ;
import javax.crypto.*;
import java.security.*;
import java.util.*;
import javax.crypto.spec.*;
public class Actionxc implements ActionListener {
Haupt h ;
Kryptoh k = new Kryptoh () ;
Actionxc (Haupt KlassenParameter)
{
this.h = KlassenParameter;
}
public void actionPerformed (ActionEvent ae)
{
if (ae.getActionCommand()=="Speichern") {
try {
SecretKeySpec meinSch = k.getAESKey("MeinSchlüssel" );
}
catch(Exception e) {
}
} // end of try
} // end of if
}
Java:
import java.io.* ;
import java.awt.* ;
import java.awt.event.* ;
public class Haupt extends Frame {
TextArea klartext = new TextArea ();
TextArea krypto = new TextArea ();
Panel texte = new Panel (new GridLayout (1,0));
MenuBar meinBar = new MenuBar ();
Menu meinMenu = new Menu ("Menü");
MenuItem speichern = new MenuItem ("Speichern", new MenuShortcut (KeyEvent.VK_S));
MenuItem laden = new MenuItem ("Laden", new MenuShortcut (KeyEvent.VK_L));
MenuItem schließen = new MenuItem ("Schließen", new MenuShortcut (KeyEvent.VK_E));
Kryptoh s ;
Haupt()
{
this.setVisible(true);
this.setSize(1024,860);
this.setResizable(true);
this.meinBar.add(this.meinMenu);
this.meinMenu.add(this.speichern);
this.meinMenu.add(this.laden);
this.meinMenu.add(this.schließen);
this.speichern.addActionListener(new Actionxc(this));
this.texte.add(this.klartext);
this.texte.add(this.krypto);
this.add(this.texte, BorderLayout.CENTER);
this.setMenuBar(this.meinBar);
this.schließen.addActionListener(new Actionx (this));
this.addWindowListener(new WindowAdapter ()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args) {
new Haupt ();
} // end of main
} // end of class Haupt