在ColdFusion中加密和解密查询字符串 - 解析参数和值的结果字符串

时间:2012-06-25 12:13:27

标签: parsing coldfusion query-string encryption

我确信这很简单,但我似乎无法做到正确

在ColdFusionII中加密了一个查询字符串,然后很容易解密CGI.Query_String值。然后我有一个看起来像查询字符串的字符串。但我需要引用查询字符串值,因为我通常使用URL.表示法(例如)。 我该怎么做?

我已经尝试过以下代码,但似乎无法解析结构中的值:

<cfscript>
    myStruct = structNew();
    for(i=1; i LTE listLen(decrypted,'&');i=i+1) {
        structInsert(myStruct, i, listGetAt(decrypted,i,'&'));
    }
</cfscript>

任何帮助表示感谢。

更新:(如果我不清楚,请提供更多信息)

我通过CFLOCATION使用加密的查询字符串发送数据。只是为了隐藏用户的一些无关信息。我想要做的是在解密后使用查询字符串信息。但我不能再使用ColdFusion URL结构了。所以我问我如何解析解密后的字符串中的信息,以便我可以使用它(例如在SQL查询的where子句中或只是在页面上显示)。

说我的解密字符串是update=0&balance=1145.00

如何使用<cfoutput>#update#</cfoutput>等内容?

1 个答案:

答案 0 :(得分:1)

如果str是您的查询字符串:

<CFSET str = "asdf=1&asd&as=3" />

<CFSET mystruct = structnew() />
<CFLOOP list="#str#" delimiters="&" index="i">
    <CFSET key = listfirst(i,"=") />
    <CFIF listlen(i,"=") GT 1>
        <CFSET value = listlast(i,"=") />
    <CFELSE>
        <CFSET value = "" />
    </CFIF>
    <CFSET mystruct[key] = value />
</CFLOOP>