您现在的位置:首页 >> 电脑安全 >> 加密解密 >> 内容

Weblogic的3DES解密

时间:2013/7/26 8:48:45 点击:

  核心提示: 两个主要文件:数据源配置文件HKS***-****-jdbc.xml和SerializedSystemIni.dat、import weblogic.security.internal.*...

两个主要文件:数据源配置文件HKS***-****-jdbc.xml和SerializedSystemIni.dat、

 

import weblogic.security.internal.*;
import weblogic.security.internal.encryption.EncryptionService;
import weblogic.utils.encoders.BASE64Decoder;
import weblogic.utils.encoders.BASE64Encoder;
/**
 * /home/weblogic/bea/user_projects/domains/www.cunlide.com/CrackData.java
 * javac -cp $(pwd):$CLASSPATH CrackData.java
 * java -cp $(pwd):$CLASSPATH CrackData decrypt RC4KWm0tHKM=
 * 需要包含 C:\bea\wlserver_10.3\server\lib\相关jar包!否则会抛出异常
 * @author xxxxx
 * @project testspring
 * @date Oct 24, 2009
 * @version 1.1
 */
public class CrackData
{
    public static void main(String[] args)
    {
        byte[] salt,keys;
       /**
        * 找到weblogic对应domain下的
        * user_projects\domains\base_domain\security\SerializedSystemIni.dat文件
        * 把它拷贝到当前project的"security"目录下覆盖即可
        * 这样就可以把config.xml中的加密的密码串拿出来进行解密处理了!^_^ www.it165.net
        */
 
        String path=SerializedSystemIni.getPath();
        System.out.println(path);
 
        salt=SerializedSystemIni.getSalt();
        keys=SerializedSystemIni.getEncryptedSecretKey();
        String data="";
        for(int i=0;i<salt .length;i++){
            data+=salt[i]+",";
        }
        System.out.println("salt:"+data);
        data="";
        for(int i=0;i<keys.length;i++){
            data+=keys[i]+",";
        }
        System.out.println("Key:"+data);
        //EncryptionService svr=SerializedSystemIni.getExistingEncryptionService();
        EncryptionService svr=SerializedSystemIni.getEncryptionService();
 
        System.out.println(svr);
 
        System.out.println(svr.getAlgorithm());
 
        if(args.length>1){
            if(args[0].equals("encrypt")){
                byte[] edata=svr.encryptString(args[1]);
                String s = (new BASE64Encoder()).encodeBuffer(edata);
                System.out.println("Encode:"+s);
            }
            if(args[0].equals("decrypt")){
                try{
                byte[] edata = (new BASE64Decoder()).decodeBuffer(args[1]);
                String txt=svr.decryptString(edata);
                System.out.println("Decode:"+txt);
                }catch(Exception ex){
                    ex.printStackTrace();
                }
            }
        }
 
       // decrypt awF/L0fQdXgGs2JoKePo5Q==
        //模拟加密处理-------!
        String _pass="lbxhis";
        byte[] edata2=svr.encryptString(_pass);
        String s = (new BASE64Encoder()).encodeBuffer(edata2);
        System.out.println("Encode:"+s);
        //模拟解密处理--------!
        try{
                String pass="awF/L0fQdXgGs2JoKePo5Q==";
            byte[] edata = (new BASE64Decoder()).decodeBuffer(pass);
 
            String txt=svr.decryptString(edata);
            System.out.println("Decode:"+txt);
            }catch(Exception ex){
              
            }
 
    }
}

 


Tags:解密 
作者:电脑维修助手 来源:不详
相关评论
发表我的评论
  • 大名:
  • 内容:
  • 电脑维修知识网(www.dnwxzs.com) © 2017 版权所有 All Rights Reserved.
  • Email:pcweixiu@tom.com 站长QQ:20567788 冀ICP备11008166号 冀公网安备 13050002001002号
  • 技术支持与报障: 电脑维修知识网