【问题标题】:hash and unhash text to 20 characters散列和取消散列文本到 20 个字符
【发布时间】:2016-11-13 06:56:54
【问题描述】:

我有一些 3-100 个字符的文本,

我希望能够将其散列为 20 个字符的字符串,

并且能够将其解散回原始数据。

  • 没有考虑安全性,我只是有一个字符串限制,但我需要完整的字符串。

【问题讨论】:

  • 您无法取消散列。哈希将数据映射到固定大小的数据。这是一种单向功能。你所说的听起来更像是完全不同的压缩。
  • 不能将任意100个字符的字符串转换成20个字符的字符串,并反转。在散列期间会丢失一些信息。您可以将数据库映射哈希存储到原始字符串吗?
  • 当然可以,但我想在没有数据库的情况下保留它
  • 我认为你的意思是压缩,而不是散列。你有 20 个字符或 20 个字节的限制吗?你使用什么编码?它是什么类型的文字?它主要重复吗?基本上是可压缩的吗?
  • 20 个字符,基本字符串如:dogsPage2_fbPitbuls_onSidebar2

标签: javascript node.js encryption hash


【解决方案1】:

这是不可能的。

如果您可以将任何 100 个字符压缩到 20 个并返回 - 您可以将整个互联网压缩到 20 个字节 :)


尽你所能 - 限制原始字母表并使用扩展的哈希值。
例如,源字符串可以是带有大小写的字母数字。它是 62 个字符的字母表。使用哈希使用所有 256 字节值,您可以将源压缩 4 次。

【讨论】:

  • @TzookBarNoy 早在 1997 年,您可以将整个互联网保存在 3½ 软盘中,但现在不可能了,它变得太大了 :-)
  • @ÁlvaroGonzález,whole internet 我的意思是任何大小的数据。
猜你喜欢
  • 2013-05-09
  • 2020-03-17
  • 2011-12-25
  • 1970-01-01
  • 2016-09-08
  • 2015-02-27
  • 1970-01-01
  • 2011-09-30
相关资源
最近更新 更多