大家肯定都用了壓縮軟件。當然,這是沒有爭議的。但是一直在使用的你,有沒有想過文件壓縮是如何進行的?壓縮、加密使用什么原理?
今天,做機器百科可以很好地講述壓縮文件的奧秘。
一、壓縮原理
首先我們先來看看壓縮原理,文件壓縮分為有損壓縮和無損壓縮兩種,我們常用的WinRAR、WinZip都是屬于無損壓縮,其基本原理都是一樣的,簡單地說也就是把文件中的重復數據用更簡潔的方法表示,例如一個文件中有1000個字母A,那么這將占用1KB的數據空間,如果用壓縮算法就可以用1000A來表示,那么它只需要5個字節(jié)的數據空間,壓縮比達到了200倍,那么由此看來,1000倍甚至更高倍的壓縮比是可以實現的,但要求源文件必須有足夠多的重復數據。
不過,我們平時使用的文件都不可能是這樣的,所以通常文件壓縮比都在10倍以下,如果某個軟件聲稱對任何文件都能夠產生這種超高壓縮比的話,那它肯定就是具有欺騙性質的了。
很多網上下載的文件只有300MB或400MB,但是解壓后,居然可以達到2GB甚至更多,也許你會奇怪,為什么你用WinRAR壓縮同樣的文件,就沒有這樣的壓縮效果呢?其實這是因為這些文件是用多款不同的壓縮軟件進行壓縮的,用壓縮音頻最好的壓縮軟件壓縮音頻文件,用壓縮動畫最好的壓縮軟件壓縮動畫文件。而且在壓縮時所選的參數也是最佳的,這樣也就保證了最后生成的壓縮文件是最小的。
二、加密原理
明白了壓縮原理,接下來我們看看壓縮文件的加密原理,通常的加密算法主要分為分組加密和序列加密。一般的數據加密可考慮采用3DES、AES等成熟的分組加密算法。
而各大壓縮軟件都會基于加組加密進行變種、特化的方式來形成自己的加密方式。比如WinRAR用的是自己修改過的AES(分組加密算法的一種),進行初始化加密,之后使用上一次加密的結果進行自定義的亂序加密。
下面我們就以WinRAR加密為例,說下壓縮加密的原理。
Winrar加密文件時,步驟很簡單,就兩步:首先,先把源文件壓縮,壓成一段數據段。然后再將壓縮完的數據段加密。
上文已經解釋過壓縮了,這里不再重復,那么如何加密“壓縮完的數據段”呢?
1、首先是獲取密鑰
獲取密鑰是明文的密碼與Salt一起,通過HASH算法,生成兩個16字節(jié)的密鑰。(一個是KEY(AES算法的參數),一個是initVector)
2、然后用Key和initVector來加密壓縮數據
這是一個循環(huán)加密的結構,每16字節(jié)作為一個塊,進行加密(這可能正是為什么加密完的文件長度總為16倍數的原因)。加密采用AES算法(RAR采用的是AES的rijndael的標準應用)。這里注意:AES加密前,有一個異或運算,是先將每16字節(jié)塊與上一個16字節(jié)塊加密結果進行異或,然后再進行AES算法的。
3、關于解密
由于AES算法是對稱的,所以解密的過程,是加密過程的逆運算。但解密時AES算法過程與加密所用的不一樣(是因為解密過程中由KEY生成的子密鑰表不一樣)。仍然需要我們將密碼輸入,與salt一起生成兩個16字節(jié)密鑰,KEY和initVector。
解密的過程是解密后的數據塊進行解壓縮,然后解成源文件,對該文件進行CRC校驗,存在RAR文件中的源文件CRC校驗碼比較,相同則密碼正確,不相同則密碼錯誤。
三、壓縮軟件大搜羅
壓縮軟件是我們日常網絡生活必備的工具之一,下面搞機百科就將目前市面上的多款壓縮軟件都搜羅來,讓大家有更多的選擇。
1、WinRAR
這個就不說了。
2、酷壓:國產壓縮先驅
作為國產壓縮的革命先驅,酷壓一直秉承著免費開源的理念,為后來大批的國產壓縮軟件的興起提供了技術借鑒。但它不像其它廠商那樣野蠻生長,在壓縮格式上比較循規(guī)蹈矩,從不去觸WinRAR的眉頭。酷壓發(fā)布之后,以其更小、更快、更好、更安全、更簡潔迅速獲得廣大用戶的青睞。但單一的功能性讓酷壓在國產壓縮軟件的圍攻下逐漸銷聲匿跡,但它仍像一盞明燈,為國產壓縮軟件指引方向。
3、7-ZIP——老牌開源壓縮軟件
7-ZIP不用多說,是世界頂級開源跨平臺壓縮軟件,曾經是WinRAR最大的對頭。二者為到底是RAR格式優(yōu)越,還是ZIP格式優(yōu)越多年以來一直爭執(zhí)不休,也無法握手言和,相互兼容。但是唯獨有點丑,所以常常被人忽略。其性能當然是強悍的。
4、快壓——生命力最旺盛的壓縮軟件
快壓也是國產壓縮軟件大戰(zhàn)時期誕生的,工具類軟件普遍生存艱難,但是它卻如此持久旺盛。如果在百度搜索壓縮軟件,排名第一的就是它的推廣。還有它自己的裝機聯盟推廣。而且還大有以其號稱超高壓縮比的KZ格式一統(tǒng)江湖之勢。
快壓廣告較多,就它開展裝機聯盟來說,已經走了歪路,恐怕是打廣告展示,主頁鎖定,流量劫持的歪主意。
5、好壓——全家桶大禮包
好壓曾經是國內最好用的壓縮軟件沒有之一,但是單純工具類的軟件生存艱難,最后只能寄人籬下。不僅令人扼腕。自被2345收購之后,可謂是得遇伯,春風得意,一副天際藍把自己妝點的油頭粉面。技術上在原有壓縮功能的基礎上開發(fā)了自解壓和工具箱,工具箱集成了批量文件改名、虛擬光驅在內的小工具,也集成了2345瀏覽器,2345看圖王,2345安全衛(wèi)士在內的全家桶雷區(qū)。
6、WinMount——不需要解壓而直接使用壓縮包內文件
WinMount是國人開發(fā)的一款壓縮軟件,說它是壓縮軟件不太準確,應該稱之為可以不用解壓而讀取使用壓縮包內文件的虛擬光驅。它同時也真的是一個虛擬光驅,可以加載使用ISO光盤文件。
它可以把 ZIP RAR ISO BIN MDF MNT 文件 mount 為一個新的盤符,這樣你就可以直接使用里面的文件了, 不需要展開。節(jié)省時間,節(jié)省空間。WinMount 可以建一個空的2GB的盤,經常有人問這個有什么用。這個空盤實際上相當于一個 RAMDisk,就是在內存中的虛擬盤。所以它肯定速度快,但一關機就什么都沒有了。它新建立的時候,即使是新建一個1GB的空盤,實際上不消耗什么內存。當有寫操作時,才會逐漸申請內存。
7、360壓縮——帶木馬查殺的國產壓縮軟件
360總是有那么多鬼點子,當初憑借瀏覽器一個小小的收藏夾同步功能迅速占領廣大用戶。如今在壓縮上也是以貼心的功能討取用戶歡心。獨創(chuàng)的WinRAR界面和360界面無縫切換,使用戶很快過度;貼心的木馬查殺功能,讓壓縮軟件內的病毒無處遁形。
在技術和功能上自不用說,依然全面而便捷。通過朝陽群眾提供的RAR插件,能輕而易舉對RAR格式進行各種操作。
8、PeaZip——跨平臺免費開源壓縮軟件
PeaZip是一款基于JAVA的開源跨平臺軟件,同時支持Windows和Linux系統(tǒng)。Windows自不用說,但是在Linux操作系統(tǒng)下要想找一款有頭有臉的壓縮軟件,那就非它莫屬了。
它支持除開RAR格式以外的大部分格式,還有自有格式PEA。操作上也與其它壓縮軟件大同小異。
9、FreeArc——強悍的加密功能
FreeArc同樣是一款開源免費跨平臺的壓縮軟件,它在汲取7-ZIP額優(yōu)勢基礎上又有了很大的提升,速度上號稱具有 WinRAR 、7-Zip 兩倍以上的壓縮速度,技術上集成了多種過濾器和壓縮算法。它不僅支持數據恢復,還是支持AES+Twofish+Serpent算法加密,支持使用大于1GB的字典,支持使用外部壓縮軟件。
10、Bandizip——最美壓縮軟件
這是一款韓國公司Bandisoft開發(fā)的壓縮軟件,放在最后因為最近中韓關系緊張,但這的確是一款好軟件。在國產壓縮軟件興起之前,被認為是最好替代WinRAR的壓縮軟件之一。這款軟件最近發(fā)布了6.0版本,顏值可謂是壓縮軟件巔峰的存在。
它有著漂亮的臉蛋,卻不是中看不中用的花瓶。有著小巧的身材,全面的格式,便捷的操作。它支持WinZip、7-Zip 和 WinRAR 以及其它壓縮格式。
看到這里,你是不是對壓縮文件有了初步認識?你是否找到了心儀的壓縮軟件?如果這篇文章對你有點用處,希望繼續(xù)關注智友搞機百科。
1.《關于0.zip是什么壓縮包,你需要知道這些老司機告訴你經常用到的壓縮文件都是什么原理》援引自互聯網,旨在傳遞更多網絡信息知識,僅代表作者本人觀點,與本網站無關,侵刪請聯系頁腳下方聯系方式。
2.《關于0.zip是什么壓縮包,你需要知道這些老司機告訴你經常用到的壓縮文件都是什么原理》僅供讀者參考,本網站未對該內容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉載時請保留本站內容來源地址,http://f99ss.com/gl/2071266.html