public static char[] deObfuscate(String ePassword){
  if (ePassword == null)   return null;
  byte[] bytes=null;
  try {
    bytes=SimpleBase64Encoder.decode(ePassword.substring(xorTag.length()));
  }
 catch (  Exception e) {
    return null;
  }
  for (int i=0; i < bytes.length; i++) {
    bytes[i]=(byte)((bytes[i] ^ key[i % key.length]) & 0x00ff);
  }
  return toChar(bytes);
}

public static char [ ] deObfuscate ( String ePassword ) { if ( ePassword == null ) return null ; byte [ ] bytes = null ; try { bytes = SimpleBase64Encoder . decode ( ePassword . substring ( xorTag . length ( ) ) ) ; } catch ( Exception e ) { return null ; } for ( int i = 0 ; i < bytes . length ; i ++ ) { bytes [ i ] = ( byte ) ( ( bytes [ i ] ^ key [ i % key . length ] ) & 0x00ff ) ; } return toChar ( bytes ) ; }
the inverse operation of obfuscate : returns a cleartext password that was previously obfuscated using the xor scrambler .
