草庐IT

gzdeflate

全部标签

Golang 上的 PHP gzdeflate/gzinflate 功能

我需要在go中实现gzdeflate/gzinflate函数(压缩级别9)我当前的Go实现如下所示:funcgzdeflate(strstring)string{varbbytes.Bufferw,_:=gzip.NewWriterLevel(&b,9)w.Write([]byte(str))w.Close()returnb.String()}funcgzinflate(strstring)string{b:=bytes.NewReader([]byte(str))r,_:=gzip.NewReader(b)bb2:=new(bytes.Buffer)_,_=io.Copy(bb2,r

PHP:gzdeflate 在多台机器上是否安全?

在PHP手册中有一条关于gzdeflate的评论说:gzcompressproduceslongerdatabecauseitembedsinformationabouttheencodingontothestring.Ifyouarecompressingdatathatwillonlyeverbehandledononemachine,thenyoudon'tneedtoworryaboutwhichofthesefunctionsyouuse.However,ifyouarepassingdatacompressedwiththesefunctionstoadifferentma

php - 有没有办法测试字符串是否 gzdeflated?

也就是说,测试我是否可以安全地gzinflate字符串。如果我的压缩数据被篡改,我会收到“错误数据”警告。我不想抑制警告,这意味着我要么必须捕获它,要么测试它是否可以gzinflated。后者是我的首选解决方案,但我不知道该怎么做。适合下面代码示例的内容将是完美的:if(i_can_haz_inflate($data)){//goahead$source=gzinflate($data);}else{//baddata}编辑:在指定gz(de|in)flate之后,我开始意识到我实际上并不太在意压缩算法。有没有更适合在尝试减压之前检查完整性的方法? 最佳答案