2014-02-20 77 views
0

我遇到了BasicTextEncryptor的一個小問題。解密servlet參數,用BasicTextEncryptor加密

加密後,字符串結果在BASE64中編碼。在我的情況下,我想加密一個字符串,並通過URL參數發送給一個servlet。在servlet中,我想解密這個參數並獲得原始字符串。問題是有時加密的字符串包含一些字符(如空格),而在URL中則用其他符號(例如+)表示。在這種情況下,我無法解密該字符串,因爲它不再是同一個字符串。

任何人都可以給我一個提示如何解決這個問題嗎?我正在通過servlet鏈接執行電子郵件確認,如果有人可以建議我另一個解決方案將非常感激。

+0

如何使用此參數調用servlet? –

+0

通過URL /myservlet?id =

+0

您正在使用GET請求。改爲使用POST請求並對參數進行編碼。 –

回答

0

在結束這個問題比較簡單,我認爲:Java URL encoding of query string parameters

我只是像這樣編碼字符串:

String url = "http://example.com/query?q=" + URLEncoder.encode(MyString, "ISO-8859-1"); 

然後,我會從servlet請求字符串將被解碼的正確的字符串默認。