我想實現一個簡單的字符串編碼器來模糊URL字符串的某些部分(以防止它們被用戶弄糊塗)。我使用的代碼幾乎相同的樣品中的JCA guide,不同的是:使用DES避免在加密和編碼的URL字符串中換行
- (假設它比AES快一點,需要一個較小的鍵)
- 的Base64 EN /串來解碼確保它對URL保持安全。
由於我無法理解的原因,輸出字符串以換行符結束,我認爲這是行不通的。我無法弄清楚是什麼原因造成的。對類似的東西更容易的建議或指向其他資源的閱讀?我發現所有的密碼引用都超出了我的想象(而且過度殺傷),但是一個簡單的ROT13實現將不起作用,因爲我想處理更大的字符集(並且不想浪費時間來實現可能的有我不認爲的模糊人物的問題)。
樣品輸入(無斷線):
http://maps.google.com/maps?q=kansas&hl=en&sll=42.358431,-71.059773&sspn=0.415552,0.718918&hnear=Kansas&t=m&z=7
樣本輸出(換行如下所示):
GstikIiULcJSGEU2NWNTpyucSWUFENptYk4m5lD8RJl8l1CuspiuXiE9a07fUEAGM/tC7h0Vzus+
jAH6cT4Wtz2RUlBdGf8WtQxVDKZVOzKwi84eQh2kZT9T3KomlnPOu2owJ/2RAEvG+QuGem5UGw==
我的編碼片段:
final Key key = new SecretKeySpec(seed.getBytes(), "DES");
final Cipher c = Cipher.getInstance("DES");
c.init(Cipher.ENCRYPT_MODE, key);
final byte[] encVal = c.doFinal(s.getBytes());
return new BASE64Encoder().encode(encVal);
你是否試圖恢復你的編碼操作,看看是否有用 ? – Snicolas 2012-04-23 14:34:05
BASE64Encoder類從哪裏來? – leonbloy 2012-04-23 14:38:43
@leonbloy我正在導入sun.misc.BASE64Decoder,我發現感謝[這篇文章](http://stackoverflow.com/questions/2267036/work-sun-misc-base64encoder-decoder-for-getting-字節)不是一個好主意。 – milletron 2012-04-23 15:30:03