code: public String decrypt64( final String encryptedText, final String password )
      throws PlexusCipherException
      {
          try
          {
              byte[] allEncryptedBytes = Base64.decodeBase64( encryptedText.getBytes() );
              
              int totalLen = allEncryptedBytes.length;
              
              byte [] salt = new byte[ SALT_SIZE ];
              
              System.arraycopy( allEncryptedBytes, 0, salt, 0, SALT_SIZE );
              
              byte padLen = allEncryptedBytes[ SALT_SIZE ]; 
      
              byte [] encryptedBytes = new byte[ totalLen - SALT_SIZE - 1 - padLen ];
              
              System.arraycopy( allEncryptedBytes, SALT_SIZE + 1, encryptedBytes, 0, encryptedBytes.length );
              
              Cipher cipher = createCipher( password.getBytes( STRING_ENCODING ), salt, Cipher.DECRYPT_MODE  );
      
              byte [] clearBytes = cipher.doFinal( encryptedBytes );
              
              String clearText = new String( clearBytes, STRING_ENCODING ); 
      
              return clearText;
          }
          catch( Exception e)
          {
              throw new PlexusCipherException(e);
          }
      }
docs: -------------------------------------------------------------------------------