1. A non-transitory computer-readable medium storing instructions that when executed by a processor perform a method for encrypting files stored within a cloud storage site, the method comprising: receiving a request to encrypt a data file located on a cloud storage site; receiving an indication of a requested type of encryption method to utilize when encrypting the data file located on the cloud storage site, wherein the requested type of encryption method is one of multiple types of encryption methods; determining if the requested type of encryption method is supported by an application programming interface (API) provided by the cloud storage site; and if the requested type of encryption method is supported by the API provided by the cloud storage site, then utilizing the API provided by the cloud storage site to encrypt the data file; if the type of encryption method requested is not supported by the API provided by the cloud storage site, then performing the following: downloading a copy of the data file from the cloud storage site; encrypting the downloaded copy of the data file to create an encrypted version of the data file; and sending the encrypted version of the data file to the cloud storage site via the API to either— overwrite the data file stored on the cloud storage site with the encrypted version of the data file, or write the encrypted version of the data file to the cloud storage site and delete the data file stored on the cloud storage site.