Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

How to decode and encrypted value using DESEDE and a .key file?

Participant ,
Apr 26, 2021 Apr 26, 2021

Hi all. Help would be very appreciated...

 

I have a requirement to accept a POST parameter that is encrypted using DESede/ECB/PKCS5Padding, and decrypt that param for use in my application. 

 

In attempting to test out this encryption and decryption, the following code was found to work successfully:

<cfset theKey = generateSecretKey('DESEDE')>
<cfset varString = "Testing">
<cfset encrypted=encrypt(varString, theKey, 'DESEDE','Base64')> 
<cfset decrypted=decrypt(encrypted, theKey, 'DESEDE','Base64')>
<cfdump var="#decrypted#">

 

Our issue is that in the test above the key value produced appears to be plain text, but the key that we are receiving from our data sender is in a .key file, and which seems to contain binary data. Can anyone tell me how a .key file might be used to decrypt a desede encrypted file?

TOPICS
Advanced techniques
770
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Participant , Apr 29, 2021 Apr 29, 2021

Thank you for the effort, BKBK, but what worked was running the binary data through the ToBase64() function.

Translate
Community Expert ,
Apr 26, 2021 Apr 26, 2021

Without much thought, my immediate instinct is to try something like:

<!--- First check whether the key file contains comments. If so, you might have to filter them out before going any further. --->
<cffile action="readbinary" file="absolute_path_to_key_file" variable="keyAsBinary">
<cfset theKey = toString(keyAsBinary)>
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Apr 29, 2021 Apr 29, 2021

Thank you for the effort, BKBK, but what worked was running the binary data through the ToBase64() function.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 30, 2021 Apr 30, 2021

Glad to hear. Could you please share your code? It will help someone else in future, of that I am sure.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
May 05, 2021 May 05, 2021
LATEST

Thsi is the code that worked:

<cffile action="readbinary" file="C:\junk\myBinaryKey.key" variable="keyAsBinary">
<cfset myKey = ToBase64(keyAsBinary)>
<cfoutput>#myKey#</cfoutput>
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources