正文如题,请 V 友帮忙~~~
1
xenme 2016-01-29 09:45:20 +08:00 via iPhone
参考 md5 类似的 hash
|
2
otakustay 2016-01-29 09:57:16 +08:00
加密是不可能的,摘要是可以的,比如 md5
|
3
xylophone21 2016-01-29 10:01:43 +08:00
加密,上传云盘,得到 url
除非“固定长度” >= 最大“不定长度” |
4
sherlocktheplant 2016-01-29 10:06:27 +08:00
找到一个最大长度 然后填 0 呗
|
5
yeyeye 2016-01-29 10:10:07 +08:00
@MeiganFang
@xenme @otakustay @xylophone21 @sherlocktheplant 这不就是磁力链么……(磁力链,长度固定,而且很小,磁力链生成 BT 种子,再生成任意大小的文件) |
9
otakustay 2016-01-29 10:21:39 +08:00
@yeyeye 楼主的要求也没说清楚,比如是不是允许联网,是不是允许带个数据库,如果都不允许的话,磁力链这种方案就是残废的呗
另外解密速度上的要求也要看,磁力链那种依赖网络 IO 的速度注定不能做大规模运算 |
10
allan888 2016-01-29 10:24:23 +08:00
@yeyeye 在意的就是这个过程。
按照你这个思路,一个 map , key 是整数, value 是真实的数据,那岂不是把所有数据都加密成一个 int 长度了,这不叫加密也不叫压缩。。。。 |
11
yeyeye 2016-01-29 10:29:17 +08:00
@otakustay “不定长度字符串 加密压缩成 固定长度字符串 的方法”
首先这个标题就是一个不会提问的人说出来的,你要达到它的要求,除非成为中国的佛主或者外国的上帝。 世界上最小的数字是二进制的 0 和 1 ,占用最低了,如果再压缩成所谓的固定长度,你说怎么压,还需要加密…… 不往远了说,数字 1-10 ,怎样才能压缩到二进制的 1 位? 也就是说不可能任何字符串都能压缩,甚至是压缩后还会变大。那选择多大作为存储的目标呢?(还要固定大小) 为了安全,找一个地球一样大的星球来存储吧,既能保证足够存储下地球上的任何数据和大小,又能保证长度一致。 |
12
yeyeye 2016-01-29 10:31:30 +08:00
@allan888 一个固定长度就玩死了所有的方式关于压缩的部分,我在 11 楼说了,除非再找一个地球来存储这段数据,才能保证长度一致。实现其他目标。否则一个目标都完成不了。
|
14
fising 2016-01-29 10:34:35 +08:00
违背自然规律
|
15
allan888 2016-01-29 10:40:24 +08:00
@yeyeye 把短的加密成长的字符串当然是可以的,具体怎么做就不说了,哪怕是填充 0 也是可行的。
然后如果知道压缩后的最大长度,那就没问题了,字符串压缩后,不够的就填充一下。 如果不知道,也可以在每次新来一个字符串,然后压缩后比之前的要长的情况下去填充以前的所有压缩后的字符串。 所以工程上压根就没有所谓的地球那么大,实际操作上,比如一篇文章或者一个标题,还可能一开始就限制长度。 你说的办法当然也是个思路,但是直接扯地球佛祖啥的一点意思也没有。 |
16
jugelizi 2016-01-29 10:42:55 +08:00 1
加密 压缩 定长
这是产品经理提出来的吗 |
17
allan888 2016-01-29 10:44:15 +08:00
@yeyeye 当然我认为你说的都是解决办法。
但是其实我觉得“加密”成一个长度的话,很多情况下都做得到,比如对于比如文章标题这种加密。 |
18
loading 2016-01-29 10:44:37 +08:00 via Android
楼主,如果是用于密码验证,是不需要这样的,请说下你的用途。
|
19
yeyeye 2016-01-29 10:53:01 +08:00
|
20
yougg 2016-01-29 11:11:37 +08:00
需求描述不明确.
不定长度字符串 的上下边界是多少? 固定长度字符串 的长度又是多少? 1B 和 1TB 的字符串 能同时满足加密压缩至 1MB 吗? |
21
nealnote 2016-01-29 11:14:59 +08:00
摘要算法
CRC8, CRC16, CRC32 MD2, MD4, MD5 SHA1, SHA256, SHA384, SHA512 RIPEMD, PANAMA, TIGER, ADLER32 |
22
monnand 2016-01-29 15:25:39 +08:00 via Android
假设存在这个算法,那么这不仅仅是一个牛逼的加密算法(楼主说的可是加密算法,即可以再无损地恢复原文,即解密),而且是一个超级牛逼的压缩算法。简单说,这个问题图灵不可解
|
23
pljhonglu 2016-01-29 16:57:48 +08:00
标题不可实现
楼主还是说说要用来干什么吧~ |
24
MeiganFang OP 感谢诸位 V 友的回答,@pljhonglu 主要是为了进行两段文本字符串的比较,出于大文本网络流量占用大的考虑,想通过压缩之后字符串(固定长度)提交 server 做比对。
|
25
pljhonglu 2016-01-30 21:59:21 +08:00 1
@MeiganFang 这种叫做摘要算法, MD5 , SHA1 等都可以,但是服务器无法解出原文。
|