欢迎来到数据交换的世界!

在本章中,我们将探讨计算机如何高效且安全地传送和接收信息。试想一下,当你在 WhatsApp 发送照片或登入电邮时,这些数据是如何以极快的速度传输,而我们又是如何确保其他人无法读取这些内容的呢?我们是透过压缩 (Compression)加密 (Encryption)哈希 (Hashing) 来实现的,这三者正是数据交换的“三巨头”!


1. 压缩:让文件变小

压缩是减少文件大小的过程。这一点非常重要,因为较小的文件不仅占用较少的存储空间,在互联网上的传输速度也更快。

有损 (Lossy) 与无损 (Lossless) 压缩

压缩文件主要有两种方式:

1. 有损压缩 (Lossy Compression):这种方法会永久删除部分数据以缩小文件。它主要针对人类视觉或听觉难以察觉的部分进行移除。
例子:JPEG 图像或 MP3 音乐文件。如果你对一首歌进行过度压缩,声音听起来会变得“空洞”,因为那些被删除的数据已经永远消失了!

2. 无损压缩 (Lossless Compression):这种方法可以在不丢失任何原始数据的情况下缩小文件。当你将文件“解压缩”时,它与原始文件完全相同。
例子:ZIP 文件或文本文档。你肯定不想对计算机程序使用有损压缩——因为丢失哪怕仅仅一行代码,程序都无法运行!

记忆小撇步:Lossy 理解为“丢失 (Losing)”数据,将 Lossless 理解为“Loss-Less”(没有丢失!)。

无损压缩技术:RLE 与字典编码

计算机如何在不丢失数据的情况下进行压缩?以下是你需要掌握的两种方法:

行程长度编码 (Run-Length Encoding, RLE)

RLE 会寻找连续重复的数据。它不会存储每一个项目,而是存储该项目一次,然后加上一个数字来表示它重复出现了多少次。

例子:想象图像中的一行像素:
WWWWWWBBBB
RLE 不会存储 10 个独立的字母,而是存储为:
6W4B(6 个白色,4 个黑色)。

字典编码 (Dictionary Coding)

这就像使用快捷方式。计算机会建立一个包含常用模式或单词的“字典”,并用简短的二进制代码或索引编号来取代它们。

例子:在一份长文件中,“Computer”这个词出现了 100 次。字典记录:1 = Computer。每次出现“Computer”时,计算机只需写入 1。这能节省大量空间!

快速复习:
有损:文件最小,但数据会丢失。
无损:品质完美,但文件比有损压缩大。
RLE:最适合数据中包含大量连续重复的情况。
字典:最适合数据中包含常见模式的情况(如文本)。


2. 加密:守护秘密

加密是将数据扰乱,使其除持有“密钥”解锁的人外,任何人都无法理解的过程。这就像是编写密码信息的数字版本。

对称加密 (Symmetric Encryption)

对称加密中,使用同一把密钥来加密(锁上)和解密(打开)数据。
比喻:这就像一把实体家门钥匙。你离开时用同一把钥匙锁门,回来时也用同一把钥匙开门。

问题:如果你想发送秘密给朋友,你必须先找到一种方法将钥匙传送给对方。如果黑客在传输过程中窃取了钥匙,他们就能读取你所有的信息!

非对称加密 (Asymmetric Encryption / Public Key Encryption)

这种方式聪明得多!它使用一密钥:
1. 公钥 (Public Key):所有人都可以看到。它用于加密数据。
2. 私钥 (Private Key):由拥有人秘密保管。它是唯一能解密数据的钥匙。

比喻:想象一个邮箱。公钥是邮箱前面的投递口——任何人都可以投递邮件。私钥是屋主手中的钥匙——只有屋主能打开箱子阅读邮件。

别担心,如果这听起来有点复杂!只要记住:你用公钥锁上,但只有私钥能打开。

关键点:对称加密速度快,但分享密钥有风险;非对称加密对互联网来说更安全,因为你永远不需要分享你的秘密私钥。


3. 哈希:单向街道

哈希 (Hashing) 常被误认为是加密,但两者有很大不同。哈希接收一个输入,并将其转换为固定长度的字符序列(即“哈希值”)。

黄金法则:哈希是一个单向过程。你可以将密码转换为哈希值,但你永远无法将哈希值还原回原始密码。

哈希的用途

1. 存储密码:公司不会存储你的实际密码,而是存储密码的哈希值。当你登入时,系统会对你的输入进行哈希处理,如果两个哈希值匹配,你就成功登入!如果黑客窃取了数据库,他们看到的只是一堆无用的哈希值,而不是你的真实密码。

2. 校验和 (Checksums):当你下载大型文件时,会使用哈希值来检查文件是否损坏。如果文件中哪怕只有一个比特被更改,哈希值看起来也会完全不同!

3. 哈希表 (Hash Tables):用于数据结构以即时寻找信息。计算机不需要搜索整个列表,而是直接跳转到由哈希值计算出的位置。

你知道吗?即使你对一本 1,000 页的巨著进行哈希,产生的哈希值长度(例如 64 个字符)通常与对单词“Cat”进行哈希时一样短!


总结清单

• 压缩:缩小文件。分为有损(数据丢失)或无损(品质完美)。
• RLE:计算重复次数(例如用 5A 代替 AAAAA)。
• 字典编码:用短代码替换常见模式。
• 对称加密:一把钥匙包办所有工作。
• 非对称加密:公钥加密,私钥解密。
• 哈希:单向转换。用于密码存储和错误检查。

常见误区:千万别说哈希是“加密”密码。加密的目的是为了能够还原(解密),而哈希则是永久性的转换!