url的最佳加密和解密算法

时间:2015-07-21 08:06:30

标签: javascript php algorithm encryption cryptography

我需要在我的应用程序中加密和解密URL。

加密是绕过审查制度的必要条件。该应用程序目前使用的是RC4,但现在已不再适用,希望有更好的选择。

一个好的算法应具有以下特征:

  1. 哈希值应尽可能短 某些Web过滤器将阻止大于75个字符的网址。比RC4产生的哈希短的哈希是一个不错的选择。
  2. 该算法在内存使用和CPU方面都应该是高效的。
  3. 算法应该比RC4强。
  4. PHP&应该可以使用JS的算法实现。

2 个答案:

答案 0 :(得分:0)

你提到RC4是一个流密码。正如你所说,这是不安全的。对URL使用流密码似乎很奇怪,但如果这是你想要的方式,我建议你看看Salsa20。谷歌正在使用它,并且没有专利。

如果您想使用分组密码,AES是安全性和速度之间的良好妥协之一。这是导致它赢得AES竞争的两个因素 - 足够的安全性和非常好的速度。除非你真的想要一个流密码,否则我实际上更喜欢Salsa20。

至于保持尺寸减小,上述两者都相当紧凑。例如,AES将需要16个字节的块,并将填充到16的偶数倍。因此,如果您必须保持在75个字符以下(假设您的编码中每个字节有1个字符),则必须保持在64个字符以下保持AES不再制作一个甚至80字节的块。

我建议先压缩网址,然后加密。您应该能够以这种方式将大量数据压缩到72个字节。只记得压缩,然后加密。如果先加密,则密码文本对压缩非常不敏感。

答案 1 :(得分:0)

  

我需要在我的应用程序中加密和解密URL。

我可以建议an alternative solution to URL parameter encryption吗?

  

加密是绕过审查制度的必要条件。该应用程序目前使用的是RC4,但现在已不再适用,希望有更好的选择。

使用HTTPS。 Avoid client-side Javascript cryptography in the browser。使用新的Let's Encrypt证书颁发机构,HTTPS比以前更自由,更轻松。