/* * ende.java * * Created on 18. November 2007, 22:57 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package helpfiles; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.security.Key; import java.security.NoSuchAlgorithmException; import javax.crypto.Cipher; import javax.crypto.CipherInputStream; import javax.crypto.CipherOutputStream; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.SecretKeySpec; import javax.management.openmbean.InvalidKeyException; /** * * @author M */ public class encdec { /** Creates a new instance of ende */ public encdec() { } public static String btos(byte[] bs){ String s=""; for (byte elem : bs) { s+=new Byte(elem).toString()+","; } return s; } public static byte[] stb(String s){ String[] byas; byas=s.split(","); byte[] bs=new byte[byas.length]; for (int i = 0; i < bs.length; i++) { bs[i]=Byte.valueOf(byas[i]); } return bs; } public static String entschluesseln(String s,String key) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IOException, java.security.InvalidKeyException{ Cipher c = Cipher.getInstance( "DES" ); Key k = new SecretKeySpec( key.getBytes(), "DES" ); c.init( Cipher.DECRYPT_MODE, k ); ByteArrayInputStream bais=new ByteArrayInputStream(stb(s)); CipherInputStream cis=new CipherInputStream(bais,c); ByteArrayOutputStream bos=new ByteArrayOutputStream(); int b; while((b=cis.read())!=-1){ bos.write(b); } return new String(bos.toByteArray()); } public static String verschluesseln(String s,String key) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IOException, java.security.InvalidKeyException{ Cipher c = Cipher.getInstance( "DES" ); Key k = new SecretKeySpec( key.getBytes(), "DES" ); c.init( Cipher.ENCRYPT_MODE, k ); ByteArrayOutputStream bos=new ByteArrayOutputStream(); CipherOutputStream cos = new CipherOutputStream( bos, c ); cos.write(s.getBytes()); cos.flush(); cos.close(); bos.flush(); bos.close(); return btos(bos.toByteArray()); } }