加密的強弱程度
編碼
編碼是將資料轉換為另一種格式以便於傳輸或儲存。不涉及安全性。
1 | 例子:Base64 編碼將二進制資料轉換為 ASCII 字符串。原始資料 “Hello” 經過 Base64 編碼後變成 “SGVsbG8=”。這樣可以方便地在只支持文本的環境中傳輸二進制資料。 |
校驗碼
計算速度快,適合即時檢測,可以將CRC(循環冗餘校驗)視為專門用於檢測資料傳輸錯誤的簡易雜湊函數
雜湊
任意長度的資料轉換為固定長度的字串。通常使用更複雜的算法,SHA,雜湊函數是單向的,無法從雜湊值還原原始資料。常用於資料校驗和數字簽名。
1 | 例子:使用 SHA-256 雜湊函數對 “Hello” 進行雜湊,得到的雜湊值可能是 “2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824”。即使原始資料稍有改變,雜湊值也會完全不同 |
加密
加密是將資料轉換為一種只有持有特定密鑰的人才能解讀的形式。加密主要分為對稱式加密和非對稱式加密。
對稱式加密:使用相同的密鑰進行加密和解密。例如,AES(Advanced Encryption Standard)。
1 | 例子:假設你有一段文字 “Hello” 和一把密鑰 “key123”。使用 AES 加密後,得到的密文可能是 “U2FsdGVkX19FJsgVyam+Gh2EwmGs4BEJjJJsWxCXHWw84gp3uHvozWsHY8gfAx0C”。只有使用相同的密鑰 “key123” 才能解密回 “Hello” |
非對稱式加密:使用一對密鑰(公鑰和私鑰)。公鑰用於加密,私鑰用於解密。例如,RSA(Rivest-Shamir-Adleman)。
1 | 例子:你可以公開你的公鑰,任何人都可以用它加密訊息給你,但只有你能用你的私鑰解密這些訊息 |
數位簽章
涉及雜湊和加密
- 雜湊:生成固定長度的雜湊值。確保文件不被竄改(更動雜湊值會變)
- 加密:使用簽署者的私鑰進行加密。確保身份驗證和不可否認性
特色
- 編碼通常與校驗碼一起。確保資料傳輸時完整性
- 雜湊用相同方法結果都一樣。確保資料不被竄改
- 加密可以解密回原始資訊。確保秘文可以回復
如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)