小编Joh*_*ber的帖子

如何将ColdFusion加密与Java 1.4.2相匹配?

***甜蜜 - 感谢Edward Smith为CF Technote表示ColdFusion的密钥是Base64编码的.请参阅generateKey()了解'fix'

我的任务是使用Java 1.4.2来匹配给定的ColdFusion代码示例的加密结果.

已知/给定值:

  • 一个24字节的密钥
  • 一个16字节的盐(IVorSalt)
  • 编码是十六进制
  • 加密算法是AES/CBC/PKCS5Padding
  • 样本明文值
  • 经过ColdFusion代码后,样本明文的加密值

假设:

  • ColdFusion代码中未指定的迭代次数,因此我假设只进行一次迭代
  • 24字节密钥所以我假设192位加密

给定/工作的ColdFusion加密代码示例:

<cfset ThisSalt = "16byte-salt-here">
<cfset ThisAlgorithm = "AES/CBC/PKCS5Padding">
<cfset ThisKey = "a-24byte-key-string-here">
<cfset thisAdjustedNow = now()>
<cfset ThisDateTimeVar = DateFormat( thisAdjustedNow , "yyyymmdd" )>
<cfset ThisDateTimeVar = ThisDateTimeVar & TimeFormat( thisAdjustedNow , "HHmmss" )>
<cfset ThisTAID = ThisDateTimeVar & "|" & someOtherData>
<cfset ThisTAIDEnc = Encrypt( ThisTAID , ThisKey , ThisAlgorithm , "Hex" , ThisSalt)>
Run Code Online (Sandbox Code Playgroud)

我的Java 1.4.2加密/解密代码赃物:

package so.example;

import java.security.*;
import …
Run Code Online (Sandbox Code Playgroud)

java encryption coldfusion

7
推荐指数
1
解决办法
2364
查看次数

标签 统计

coldfusion ×1

encryption ×1

java ×1