128 位可逆 encryptor/hasher 以减少 DB 大小

128 bit reversible encryptor/hasher to reduce DB size

PHP 是否有任何东西可以 hash/encrypt 将长字符串转换为也可以反转的 128 位字符串?

我正在尝试将数亿个字符串导入 MySQL 数据库,平均字符串超过 100 个字符,MD5 将其减​​少到 32 个字符,这显着减少了存储,但是我无法在我的数据库中再次反转它申请。

PHP 是否有任何可用的方法可以处理此问题?

如果我对你的问题的理解正确,在我看来你混淆了很多散列和压缩。

大多数散列函数都不容易逆向,因为那不是它们的目的。有无限个 "Strings/ByteStreams/Numbers/..." 对应于哈希函数的结果。您可能知道,即使是几 GB 大的图像,也会为您提供 32 个字符的 md5sum。

您不能只是神奇地将任何字符串映射到更短的固定长度的字符串,以便能够神奇地将它膨胀回其原始字符串。

很可能,如果您知道您的目标结果必须有这个和那个 属性(在您的情况下可能是字符长度100-120),但我对此表示怀疑。

还是我完全误解了,你只是指 ASCII 字符串,表达式为“128 位字符串”?

不,你不能这样做:Pigeonhole principle