將現有的coldfusion網站轉換爲網點。如何在c#中CFMX_COMPAT中進行散列處理#
在ColdFusion代碼,密碼使用其散列()函數沒有算法散列:
SomePassword = '#hash(fldPassword)#'
我發現,說默認的加密是
CFMX_COMPAT:生成一個散列字符串與 ColdFusion MX和ColdFusion MX 6.1(默認)生成的字符串相同。
有一些文章實際上告訴我如何解密。
根據Macromedia公司的ColdFusion的加密函數使用 基於XOR的算法,該算法利用了基於 由用戶作爲參數傳遞給函數的晶種的僞隨機32位密鑰。結果數據是UU編碼的。
你需要UUDECODE編碼值第一 http://www.eggheadcafe.com/printsear...asp?linkid=351
,然後用它與加密密鑰XOR它。 http://www.java2s.com/Code/CSharp/La...deamessage.htm
如果你沒有鑰匙 - 你的無辜時間。
但是,如何使它工作?我不認爲有任何關鍵。我只能看到'#hash(fldPassword)#'
。請幫忙。謝謝。
我相信hash()被設計爲一個單向函數,它不應該被「解密」嗎? –
有趣,那麼爲什麼Adobe/Macromedia將它命名爲'CFMX_COMPAT',它確實只是一個'MD5'? – Henry
@亨利 - 聽起來像一個文檔錯誤。 (當你需要一個勘誤的時候,哪裏出錯?)MX6的'hash()'默認是'MD5' - 而不是'CFMX_COMPAT'。另外,在以後的版本中,它們會將默認值減少到'CFMX_COMPAT',這是毫無意義的。它甚至不是哈希算法.. – Leigh