Skip to main content
Inspiring
August 8, 2018
Question

Encrypt data in a created Excel file

  • August 8, 2018
  • 1 reply
  • 812 views

Hi,

Is there away in Cold Fusion2016 to encrypt the contents of a create Excel file, either completely or by cell?

Then allow the user to de-encrypt the Excel file after it has been created?

Using the following to create an excel file.

<cfset TabChar = Chr(9)>
<cfset NewLine = Chr(13) & Chr(10)>
<cfheader name="Content-Disposition" value="attachment; filename=reports.xls">
<CFCONTENT TYPE="application/vnd.ms-excel" RESET="Yes">

Thanks in advance,

Mike

    This topic has been closed for replies.

    1 reply

    BKBK
    Community Expert
    Community Expert
    August 12, 2018

    If you want file encryption and decryption, then the solution is straightforward. I am assuming the user also uses ColdFusion.

    Your file encryption

    <cffile file="C:\Users\BKBK\Desktop\testDir\test.xls" action="readBinary" variable="myExcelData">

    <cfset key=generateSecretKey("AES")>

    <cfset encryptedData=encryptBinary(myExcelData, key, "AES")>

    <cffile file="C:\Users\BKBK\Desktop\testDir\test1_encrypted.xls" action="write" output="#encryptedData#">

    key:<cfoutput>#key#</cfoutput>

    Now, give the user the key, SPCX1nM2h+NPzx4j6e24tQ==, say.

    User's file decryption

    <cffile file="C:\tmp\testDir\test1_encrypted.xls" action="readBinary" variable="encryptedExcelData">

    <cfset key="SPCX1nM2h+NPzx4j6e24tQ==">

    <cfset decryptedData=decryptBinary(encryptedExcelData, key, "AES")>

    <cffile file="C:\tmp\testDir\test1_decrypted.xls" action="write" output="#decryptedData#">

    userCold9Author
    Inspiring
    August 13, 2018

    Hi,

    The user does not have access to Cold Fusion.

    The user has access to Microsoft Excel.

    Thanks,

    Mike

    WolfShade
    Legend
    August 13, 2018

    The user must use something that can decrypt the file, using the key you provide.  If not ColdFusion, then something.  If they only have access to the Excel file without any method of decrypting it, then the whole process is pointless.

    V/r,

    ^ _ ^