1

最近、ColdFusion 9 を使用して会社の Web サイトを作成しました。ColdFusion の暗号化/復号化機能に問題があります。解読した特定の文字列で、これらの奇妙な特殊文字が表示されます。

例:

MK/_0<---暗号化された文字列が出力されました

�#5&z<---復号化された文字列が出力されました

なぜこれが起こっているのかわかりません (復号化される特定の文字列でのみ)。

コードは次のとおりです。

<cfset ccNum = decrypt(getCCInfo.CUST_CARDNUMBER,myKey)>
4

1 に答える 1

3

わかりました、最初に、暗号化アルゴリズムを指定しないことで、非常に貧弱な暗号化を使用していることを指摘する必要があります。したがって、それを修正する必要があります。次に、暗号化ストレージの信頼性を高めるために、おそらく何らかのエンコーディングを使用する必要があります。

では、このコードを試してください。

<cfset key = generateSecretKey("AES") />

<!--- Set the ciphertext to a variable. This is the string you will store for later deciphering --->
<cfset cipherText = encrypt(plaintext, key, "AES/CBC/PKCS5Padding", "HEX") />

<cfoutput>#cipherText#</cfoutput> 

<!--- Then when you decrypt --->

<cfset decipherText = decrypt(cipherText, key, "AES/CBC/PKCS5Padding", "HEX") />

<cfoutput>#decipherText#</cfoutput>

上記のコードは強力な暗号化アルゴリズムを使用し、暗号文を上記の例で示した意味不明なものよりもはるかに保存しやすい形式にします。そうすることで、一度保管しておけば、再び取り出したときの信頼性が高まります。

文字列がどのように見えるかの例を次に示します。

A51BBB284D6DCCDC17D26FB481584236087C3AB272918E17963BAF749438C06A484922820EDCCD25150732CC5CF8A096
于 2012-08-10T21:15:27.833 に答える