2012-09-07 43 views
0

我們使用Stingray Traffic Manager下運行的TrafficScript來加密字符串並將該加密值存儲在cookie中。像這樣:如何解密TrafficScript加密值

$encrypt = "string to encrypt"; 
$passphrase = "passphrase"; 
$encrypted= string.base64encode(string.encrypt($encrypt, $passphrase)); 

http.setResponseCookie("encrypted", $encrypted, "path=/"); 

那麼,什麼我想要做的是解密C#該cookie值,但是,我已經無法去實現它迄今。我懷疑這是因爲TrafficScript使用的算法的確切細節沒有完整記錄。的參考指南規定:

string.encrypt(字符串,密碼) - 使用所提供的密碼短語加密的字符串。使用AES塊密碼對返回的字符串進行加密,並使用密碼的擴展形式作爲密碼密鑰。 MAC也被添加以確保字符串的完整性。

我已經試過AesManaged但得到一個異常「數據長度解密無效」。

任何人都可以提供任何指針?

+1

你能給我一個加密的base64字符串和你使用的密碼嗎? – bugnuker

+1

聽起來像是你不得不在電路板上詢問的東西:http://community.riverbed.com/t5/Answers/bd-p/trafficmanager看起來它沒有記錄在任何地方。 – SilverbackNet

+0

謝謝SilverbackNet我也會在那裏發帖。 – GrievousAngel

回答

0

我沒有設法找到一種純粹使用TrafficScript的方法。

所以我寫了一個Java擴展,並從我的TrafiicScript規則中運行。這是通過重複使用Joseph Ssenyange博客中發佈的一些代碼來實現的,該代碼詳細介紹瞭如何爲Java和C#編寫跨平臺加密。