The VFS folder's XML files in CrushFTP also can support encryption on their URL.  You may especially want ot do this when using a FTP or SFTP client URL in it.

''(Currently this is a manual process, and you can't use the user manager or it will override your changes.  This will change in the near future.)''

Non-encrypted VFS file:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<VFS type="vector">
    <VFS_subitem type="properties">
        <url>FILE://my_files/</url>
        <type>dir</type>
    </VFS_subitem>
</VFS>
}}}
 
Same VFS file, encrypted:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<VFS type="vector">
    <VFS_subitem type="properties">
        <url>rWhicoSffe3vlpg0bN95pTh96F</url>
        <type>dir</type>
        <encrypted>true</encrypted>
    </VFS_subitem>
</VFS>
}}}

That encrypted string can be generated from the command line:
{{{
java -jar CrushFTP.jar -p DES FILE://myfiles/
}}}
----
Developers can also further extend this to use there own custom class file that does the encryption.

Example:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<VFS type="vector">
    <VFS_subitem type="properties">
        <url>FILE://{HIDDEN_PATH}</url>
        <type>dir</type>
        <encrypted>true</encrypted>
        <encrypted_class>com.crushftp.handlers.MyDecryptorExample</encrypted_class>
    </VFS_subitem>
</VFS>
}}}

Not only does this allow you to decrypt the data using your own routines, or from an external server, but it also allows you to adjust the object entirely that comes back.

The constructor of the class is passed in one argument, a java.util.Properties object.  You can modify it.  Only the constructor is called though.