你点开一个银行App转账,发一条微信语音,甚至只是在淘宝搜个“蓝牙耳机”,背后都有一串加密算法在默默干活。它们不显山不露水,但真要缺了,整个互联网立刻停摆。
HTTPS 不是开关,是默认通行证
现在打开网页,地址栏左边那个小锁图标,早不是可有可无的装饰。它代表 TLS 协议正在运行,而 TLS 底层靠的是混合加密:用 RSA 或 ECDHE 做密钥交换(解决“怎么安全传钥匙”的问题),再用 AES 或 ChaCha20 对实际传输的数据加密(解决“怎么锁住箱子”的问题)。浏览器和服务器第一次握手时,哪怕只传一个登录密码,也早已被层层套娃加密过——不是“要不要加”,而是“不加根本连不上”。
微信消息为什么不怕截图外泄?
微信的端到端加密(E2EE)默认开启在“聊天保密模式”里。它用 Curve25519 做密钥协商,AES-256-GCM 加密消息体。这意味着:你的语音、文字、图片,在发出前就在手机里加密成一串乱码;到达对方手机后才解密;中间经过腾讯服务器时,它们看到的只是无法还原的密文。哪怕有人黑进服务器拷走数据,没你的私钥,照样白搭。
Wi-Fi 密码输对了,不代表真安全
家用路由器设了个“12345678”,看着能连上,其实风险不小。WPA2 用的是 AES-CCMP,听着很硬核,但若密码太短或常见(比如“password”“admin123”),攻击者用字典+握手包几小时就能暴力破解。真正靠谱的做法是:用至少12位含大小写字母、数字、符号的随机密码,再升级到 WPA3——它引入了 SAE(Simultaneous Authentication of Equals),连“握手过程”本身都防暴力猜解。
别只盯着算法,密钥管理才是命门
有个老例子:某公司用 AES-256 加密数据库,密钥却写死在代码里,还上传到了 GitHub。算法再强,密钥裸奔,等于门锁是航天级钛合金,钥匙就插在门把手上。实际中,密钥该存在 HSM 硬件模块里,或用 KMS 服务动态分发;前端 JS 里绝不能硬编码密钥;就连开发测试环境,也要用独立密钥,和生产环境彻底隔离。
小文件加密,其实几行命令就能干
想临时加密一个合同 PDF 发邮件?不用装一堆软件。Linux/macOS 自带 OpenSSL 就够用:
openssl enc -aes-256-cbc -salt -in contract.pdf -out contract.pdf.enc -k "MySecurePass2024!"对方收到后,用同样命令加 -d 参数解密即可。注意:-k 后的密码别用生日或手机号,且务必通过电话或见面告知——别写在邮件正文里。
加密算法不是实验室里的标本,它们活在每一次点击、每一次滑动、每一次刷卡背后。理解它们怎么工作,不是为了自己写一套 RSA,而是知道:什么时候该信那个小锁图标,什么时候该换掉路由器默认密码,以及——为什么同事说“密钥不能放 Git 里”,你得点头而不是懵着问“为啥?”