0

所以我有一个字符串,我需要在表单中的隐藏元素中进行编码,并在提交后对其进行解码:

<input type="hidden" class="secret_number" value="#encrypt(0, 'foo')#">

所以在 html 中,这看起来很糟糕,就像

$&(A$4!v

这会导致 URL 出现错误,因此我将其放在 URLEncodedFormat 中。所以最终版本看起来是这样的:%25%28%25%5F%23WLT%20%0A,这很好。如果您对此进行解码和解密,它会恢复到应有的状态。

但是提交后是这样的:

%&#x28;%_#WLT

由于分号,解码时出现了哪些错误。

值得注意的是,在提交时,这是通过 ajax 调用运行的。有任何想法吗?

4

1 回答 1

1

试试这个以获得更友好的 URL 编码

<input type="hidden" class="secret_number" value="#encrypt(string=0, key='foo', encoding='HEX')#">

我还要注意,如果您在这种情况下关心安全性,请不要使用默认的 CFMX_COMPAT 算法。

<input type="hidden" class="secret_number" value="#encrypt(0, 'foo','AES/CBC/PKCS5Padding','HEX')#">

也不要将密钥硬编码到代码中。

我假设您这样做只是为了获得正确的编码与实际安全性。

于 2012-10-17T20:16:31.283 回答