最好的加密和解密算法的url

Best encryption and decryption algorithm for url

本文关键字:算法 url 解密 加密      更新时间:2023-09-26

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

加密是绕过审查的必要条件。该应用程序目前使用RC4,但它现在不再可行,希望有一个更好的选择。

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

  1. 哈希值应该尽可能短有些网页过滤器会阻止超过75个字符的url。比RC4生成的散列短的散列是一个不错的选择。
  2. 该算法应该在内存使用和CPU方面都是高效的。
  3. 算法应该比RC4强。
  4. PHP,应提供该算法的JS实现。

您提到了RC4,它是一个流密码。正如你所说,这是不安全的。对url使用流密码似乎有些奇怪,但如果您想这样做,我建议您查看Salsa20。谷歌正在使用它,而且没有专利。

如果您想使用分组密码,AES是安全性和速度之间的良好折衷之一。这是使它赢得AES竞争的两个因素——足够的安全性和非常好的速度。比起Salsa20,我更喜欢这个,除非你真的想要一个流密码。

至于保持较小的大小,上述两个都相当紧凑。例如,AES将需要16字节块,并将填充到16的偶数倍。因此,如果你必须保持在75个字符以下(假设你的编码中每字节1个字符),你必须保持在64个字符以下,以防止AES生成另一个块,这将生成80个字节。

我建议先压缩URL,然后加密。通过这种方式,您应该能够将大量数据压缩到72字节中。只要记住先压缩,然后加密。如果您先加密,密文是相当不受压缩影响的。

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

我能建议一个替代URL参数加密的解决方案吗?

加密是绕过审查的必要条件。该应用程序目前使用RC4,但它现在不再可行,希望有一个更好的选择。

使用HTTPS。避免在浏览器中使用客户端Javascript加密。有了新的Let's Encrypt证书颁发机构,HTTPS比以往任何时候都更免费,更容易。