作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法理解如何用空字节填充 CF 中的字符串。在Java中,我会这样做......
String ZeroPad = "";
for (int i = 0; i < 32; i++)
ZeroPad = ZeroPad + "\0";
String strKey = strUsername + strPassword + ZeroPad;
strKey = strKey.substring(0, 32);
<cfset var key = arguments.username&arguments.password/>
<cfloop condition="#len(key)# less than 32">
<cfset key = key & "\0"/>
</cfloop>
<cfset key = key.substring(0,32)/>
<cfset var strB = createObject("java", "java.lang.StringBuilder")/>
<cfloop from=1 to=32 index="i">
<cfset zeroPad = zeroPad & URLDecode("%00")/>
</cfloop>
<cfset strB.append(arguments.username)/>
<cfset strB.append(arguments.password)/>
<cfset strB.append(zeroPad)/>
<cfif strB.length() GT 32>
<cfset key = strB.substring(0,32)/>
<cfelse>
<cfset key = strB.toString()/>
</cfif>
最佳答案
我用过 this tip过去,即:URLDecode("%00", "utf-8")
更新:
自 encrypt()
函数总是将纯文本输入解释为 UTF-8 字符串,您也可以使用 charsetEncode(bytes, "utf-8")从单个元素字节数组创建空字符。
charsetEncode( javacast("byte[]", [0] ), "utf-8");
关于encryption - 如何在 ColdFusion 中用空/零字节填充字符串以及 MacOS 和 Windows 上的 CF 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20434874/
我是一名优秀的程序员,十分优秀!