Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2009, 19:48
hucht
 
Fecha de Ingreso: octubre-2008
Mensajes: 140
Antigüedad: 16 años, 3 meses
Puntos: 1
desencriptacion

Hola a todos, estoy muy interesado en este tema, encontre en una clase encriptadora el siguiente archivo:

Código:
// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: packimports(5) braces fieldsfirst noctor nonlb space lnc 
// Source File Name:   DesEncrypter.java

package prueba;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import javax.crypto.*;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class DesEncrypter {

            Cipher ecipher;
            Cipher dcipher;
            byte salt[] = {
/*  27*/        -87, -101, -56, 50, 86, 53, -29, 3
            };
            int iterationCount;

            DesEncrypter(String passPhrase) {
/*  33*/        iterationCount = 19;
/*  38*/        try {
/*  38*/            java.security.spec.KeySpec keySpec = new PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount);
/*  39*/            SecretKey key = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(keySpec);
/*  41*/            ecipher = Cipher.getInstance(key.getAlgorithm());
/*  42*/            dcipher = Cipher.getInstance(key.getAlgorithm());
/*  45*/            java.security.spec.AlgorithmParameterSpec paramSpec = new PBEParameterSpec(salt, iterationCount);
/*  48*/            ecipher.init(1, key, paramSpec);
/*  49*/            dcipher.init(2, key, paramSpec);
                }
/*  50*/        catch (InvalidAlgorithmParameterException e) { }
/*  51*/        catch (InvalidKeySpecException e) { }
/*  52*/        catch (NoSuchPaddingException e) { }
/*  53*/        catch (NoSuchAlgorithmException e) { }
/*  54*/        catch (InvalidKeyException e) { }
            }

            public String encrypt(String str) {
                byte enc[];
/*  61*/        byte utf8[] = str.getBytes("UTF8");
/*  64*/        enc = ecipher.doFinal(utf8);
/*  67*/        return (new BASE64Encoder()).encode(enc);
                BadPaddingException e;
/*  68*/        e;
/*  72*/        break MISSING_BLOCK_LABEL_41;
/*  69*/        e;
/*  72*/        break MISSING_BLOCK_LABEL_41;
/*  70*/        e;
/*  72*/        break MISSING_BLOCK_LABEL_41;
/*  71*/        e;
/*  73*/        return null;
            }

            public String decrypt(String str) {
                byte utf8[];
/*  79*/        byte dec[] = (new BASE64Decoder()).decodeBuffer(str);
/*  82*/        utf8 = dcipher.doFinal(dec);
/*  85*/        return new String(utf8, "UTF8");
                BadPaddingException e;
/*  86*/        e;
/*  90*/        break MISSING_BLOCK_LABEL_45;
/*  87*/        e;
/*  90*/        break MISSING_BLOCK_LABEL_45;
/*  88*/        e;
/*  90*/        break MISSING_BLOCK_LABEL_45;
/*  89*/        e;
/*  91*/        return null;
            }
}
Necesito saber como encripta o desencripta esto las contraseñas que transforma "123456" en "sCS61OvmlQo=".

Gracias a todos por su ayuda.