kettle一点一滴之数据库连接加密与解密

import java.math.BigInteger;   
  
public class KettleDecrypt {  
    private static  int RADIX = 16;   
    private static  String SEED = "0933910847463829827159347601486730416058";   
      
    public static final String encryptPassword(String password)    
    {    
        if (password==null) return "";    
        if (password.length()==0) return "";    
            
        BigInteger bi_passwd = new BigInteger(password.getBytes());    
            
        BigInteger bi_r0  = new BigInteger(SEED);    
        BigInteger bi_r1  = bi_r0.xor(bi_passwd);    
            
        return bi_r1.toString(RADIX);     
    }    
      
      
    public static  String decryptPassword(String encrypted)   
    {   
             if (encrypted==null) return "";   
             if (encrypted.length()==0) return "";   
                
             BigInteger bi_confuse  = new BigInteger(SEED);   
                
             try   
             {   
                     BigInteger bi_r1 = new BigInteger(encrypted, RADIX);   
                     BigInteger bi_r0 = bi_r1.xor(bi_confuse);   
                        
                     return new String(bi_r0.toByteArray());    
             }   
             catch(Exception e)   
             {   
                     return "";   
             }   
     }   
  
    public static void main(String[] args) {  
        //System.out.println(JM.decryptPassword("1be98afc86aa7b1b6861cba7c94c2fa8c"));  
        //System.out.println(JM.decryptPassword("1be98afc86aa7f2ad89418148df9bfd82")); 
    }  
}  

猜你喜欢

转载自hrj0130.iteye.com/blog/2212511