gzip的唯一性';ed字符串

本文关键字:ed 字符串 唯一性 gzip | 更新日期: 2023-09-27 18:25:03

这是我的压缩算法,取自SO:上的某个地方

 var bytes = Encoding.Unicode.GetBytes(s);
 using (var msi = new MemoryStream(bytes))
 {
    using (var mso = new MemoryStream())
    {
       using (var gs = new GZipStream(mso, CompressionMode.Compress))
       {
          msi.CopyTo(gs);
       }
       return Convert.ToBase64String(mso.ToArray());
    }
 }

给定一组唯一的字符串,我能完全确定输出字符串也是唯一的吗?

gzip的唯一性';ed字符串

是。对于每个唯一的输入,任何可逆算法的输出都必须是唯一的。这样想:如果两个输入产生相同的输出,那么你怎么能解压缩它呢?

话虽如此:你是不是想用它来散列数据?如果是这样的话,这可能是一种效率很低的方法。如果你没有真正压缩数据,就不要使用压缩算法。你想干什么?