1

是否可以在不失去再次解码的能力的情况下转换加密字符串(类似于 md5)?

0TJyj0wX4ZCrsYlANG8QgwBHnGzGU7kr1BEkolr6tY0OdowpA==

Better: 73a4842f36b4n237m64as23
4

3 回答 3

2

根据定义,哈希是单向的。您将无法对加密字符串进行哈希处理,然后对其进行“取消哈希处理”以再次获得加密字符串。

但是,您可以尝试通过以下方式“缩小”加密字符串:

  • 使用无损压缩算法——尽管您不太可能通过这种方法获得太多收益,因为加密数据不能很好地压缩,并且对于某些输入集,压缩实际上会增加存储需求
  • 在加密之前压缩数据。根据输入的大小,可以将大小单独减少几个百分点(取决于算法),但通常不超过 5-10%(同样,这个答案指出了这一点)
  • 使用更高的“基数”重新编码数据(即您的字符串是 Base64,您可以切换到Base85)——但这只会节省 7%
于 2012-03-21T20:58:57.560 回答
0

你可以使用 RSA 来加密你的数据看到这个,它谈到在 php 中加密

于 2012-03-21T20:57:45.647 回答
0

在 PHP 中加密的最佳方式是使用 Mcrypt 扩展。 http://www.php.net/manual/en/book.mcrypt.php

加密解密的例子。

我还建议对加密结果进行 base64 编码。

缩小对小数据(例如密码)没有意义。

于 2012-03-21T21:11:14.310 回答