***甜蜜 - 感谢Edward Smith为CF Technote表示ColdFusion的密钥是Base64编码的.请参阅generateKey()了解'fix'
我的任务是使用Java 1.4.2来匹配给定的ColdFusion代码示例的加密结果.
已知/给定值:
假设:
给定/工作的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)