2015-07-21 81 views
-2

我需要加密和解密我的應用程序中的URL。最好的網址加密和解密算法

加密是必須繞過審查。該應用程序目前使用RC4,但現在不再可行,希望有更好的選擇。

一個好的算法應該具有以下特點:

  1. 哈希應儘可能短 一些web過濾器會阻止那些超過75個字符的URL。短於由RC4生成的哈希將是一個不錯的選擇。
  2. 算法在內存使用和CPU方面都應該是有效的。
  3. 該算法應該比RC4更強。
  4. PHP &該算法的JS實現應該可用。
+0

你很難清楚你究竟在做什麼 - 也許你可以從解釋你的前提開始?散列也不是密碼。 –

+0

散列:SHA-3,密碼:AES。 – Qiu

回答

0

您提到了RC4,它是一種流密碼。如你所說,這是不安全的。對URL使用流密碼似乎很奇怪,但如果這是你想要的方式,我建議你看看Salsa20。谷歌正在使用它,並沒有專利。

如果您想使用分組密碼,AES是安全性和速度之間的良好折衷之一。這是導致它贏得AES比賽的兩個因素 - 足夠的安全性和非常好的速度。除非你真的需要流密碼,否則我會更喜歡Salsa20。

至於保持大小,上述兩個都相當緊湊。例如,AES將需要16個字節的塊,並將填充到16的偶數倍。因此,如果您必須保持在75個字符以內(並且假設您的編碼中每個字節有1個字符),則必須將其保留在64個字符之內保持AES不會產生一個80字節的塊。

我建議先壓縮URL,然後加密。你應該能夠以這種方式將大量數據壓縮成72字節。只記得壓縮,然後加密。如果首先進行加密,則密文對壓縮非常不利。