需要通過url參數將標記化(加密)的用戶名和日期從webapp A傳遞到webapp B.像http://webappB?username=userA×tamp=13445341313之類的東西應該作爲http://webappB?token=geufjsggtj26hjdhcjre87klj3發送。接收Web應用程序B應該能夠將令牌解碼爲原始參數。 哪種技術提供了可用於.NET和Java的簡單解決方案?謝謝如何加密或標記用戶名和日期標記?
1
A
回答
-1
你提出的建議非常簡單,不需要包括Java和.NET已經提供的技術。 只需構建一個HTTP請求,將其發送到正確的URL並監聽響應。
類引用
- 的Java:HttpURLConnectionOracle
- .NET:WebRequestMSDN
如果你認爲你會做更多的這種,或者數據變得更加頻繁,複雜或結構化,我強烈建議無處不在的SOAPWikipedia協議的可擴展性和模塊化。
+0
連接不是問題。我應該使用什麼來將用戶名和日期參數編碼/解碼爲單個標記,並將其作爲url參數發送。 – 2012-01-28 08:15:34
0
我想分享我經過一些更多研究後找到的解決方案。 我選擇了一種非常簡單的基於XOR的對稱加擾方法,以支持跨平臺使用加密。
一段代碼說,超過一千字:
// webappA, encode URL parameter
byte[] userBytes = username.getBytes("UTF-8");
byte[] keyBytes = key.getBytes("UTF-8");
//XOR scramble
byte[] encrypted = new byte[userBytes.length];
for(int i = 0; i < userBytes.length; i++){
encrypted[i] = (byte)(userBytes[i]^keyBytes[i % keyBytes.length]);
}
BASE64Encoder encoder = new BASE64Encoder();
String encoded = encoder.encode(encrypted);
// webappB, decode the parameter
BASE64Decoder decoder = new BASE64Decoder();
byte[] decoded = decoder.decodeBuffer(encoded);
//XOR descramble
byte[] decrypted = new byte[decoded.length];
for(int i = 0; i < decoded.length; i++){
decrypted[i] = (byte)(decoded[i]^keyBytes[i % keyBytes.length]);
}
相關問題
- 1. 如何使用標記器寫日期?
- 2. 如何記住用戶名和密碼?
- 3. 用intck標記日期(SAS)
- 4. Active Directory如何標記密碼過期?
- 5. 隱藏網頁標記或加密它?
- 6. 使用用戶名和密碼獲取Azure Active Directory標記
- 7. 如何標記文章更新日期?
- 8. 如何在monthCalendar中標記日期?
- 9. 如何訪問標記完成日期?
- 10. GIT簽名標記和密碼
- 11. 如何將標記日期更改爲一個用戶選擇
- 12. 比較日期標記值
- 13. Struts日期標記事件
- 14. 如何使用HTML5時間標記標記日期範圍?在HTML5
- 15. 對於WinForms使用「Microsoft Chart Controls for .NET 3.5」,如何使用網格標記和標籤標記某些日期?
- 16. Java PKCS11加密標記的標準
- 17. 如何在日期時間標記日期選擇控制
- 18. 帶有標記日期的Jquery日曆
- 19. 列出git標記名稱,日期和消息
- 20. Android WebView-記住用戶名和密碼
- 21. 如何使用PHP標記li標記之前的span標記?
- 22. 如何在Mediawiki CMS中添加發布日期元標記?
- 23. 線標記密度
- 24. 如何記住登錄表單的用戶名或密碼
- 25. 如何使用jQuery在代碼標記內添加預標記?
- 26. jQuery或標記?
- 27. 無標記名
- 28. 如何克服SSO的危險限制:加密和過期標記
- 29. 屏蔽特殊標記,如PIN和用戶名,同時用Logback記錄
- 30. 如何獲取標記的名稱或標識JVectorMap
請重新標題分成問題這一點。 – paislee 2012-01-27 22:54:00