個資洩漏的原因!雜湊、編碼與加密到底差別在哪裡?

更新於 發佈於 閱讀時間約 3 分鐘
此文章同步刊登於我的部落格


雜湊不等於編碼,編碼不等於加密,加密也不是雜湊!!!

為甚麼要提這件事呢?

請先看這篇新聞:


國民黨台中市議員李中昨在議會質詢,秀出「近12個月交通違規檢舉量前20名」的名單。不過檢舉人的身分證字號竟只用Base64編碼轉換,長期協助企業資安保護的資安人員透露,取得身分證字號再搭配先前外洩的戶政資料,檢舉人的人身安全堪憂。…

資料來源:聯合新聞網

這件事簡單來說,就是工程師想把資料保護起來,但錯把Base64當作加密方法使用,把一個只能「轉換顯示格式」的方法,用在身分證上。

結果看到這些文字的人,完全不需要key(密鑰)來解密,只要經過人人都可以的還原(解碼)動作,原本的身分證就顯露出來了。其實這也不是第一次發生的事情了,很多對資訊領域不甚了解的人,甚至有「部分」的資訊領域工程師仍然不具備相關的知識素養。所以本篇文章就好好說明雜湊、編碼與加密的區別。


一、雜湊(Hash)

透過雜湊演算法將資料打亂並混合取得一個固定長度的雜湊值(Hash Values)

具有不可逆的特性且來源資料只要有任何變動生成的雜湊值也會不同通常用來驗證資料的來源是否相同

例如比對檔案是否有被修改過

或是利用不可逆的特性來存放資料庫中的密碼藉此保護使用者的資料

常見的雜湊方式有:MD5(不安全且有衝突問題)、SHA-1(不建議使用)、SHA-256等


二、編碼(Encoding)

定義相當廣泛

只要是將資料從一種型態轉變成另外一種形式且過程可逆就可以算編碼在資訊的領域中比較常用到的是將各種字元轉譯成一個固定的格式用來方便儲存、傳輸

例如資料庫編碼無法儲存特殊字元時

透過Base64轉換成只有英數字的格式就能夠儲存了或是網址無法接受空白或是一些特殊字元也可以透過URL Encode變成網址支援的編碼來讓網頁可以順利透過get方式傳遞資料

常見的編碼方式有:Base64


三、加密(Encryption)

加密是編碼的一種類型

它需要使用密鑰(Key)將原始資料轉換為密文並且這個過程也是可逆的只要擁有正確的密鑰(Key)就能夠將密文轉換為原始資料加密常被用於保護敏感資料例如信用卡資訊、個人資料等

常見的加密方式有:AES


四、比較


五、結語

總結來說

雜湊、編碼和加密雖然在資訊安全中扮演不同的角色但很多人往往容易搞混它們的用途例如用編碼或加密的方式儲存使用者密碼這種在資料庫外洩的時候就有可能造成使用者的密碼被駭客取得這種事情已經發生過很多遍了我們都應該要引以為戒才是


資料來源:

  • https://udn.com/news/story/7314/7490929
  • https://tw.news.yahoo.com/%E8%B3%AA%E8%A9%A2%E6%84%8F%E5%A4%96%E6%9B%9D%E5%80%8B%E8%B3%87-%E4%BA%82%E7%A2%BC%E7%AB%9F%E6%98%AF-%E6%AA%A2%E8%88%89%E9%81%94%E4%BA%BA-%E8%BA%AB%E5%88%86%E8%AD%89-111418039.html
avatar-img
7會員
21內容數
你可以在這裡看到後端工程師的技術文章 也可以看到一些投資相關的心得分享 歡迎交流~
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Hankz是名工程師 的其他內容
在使用laravel中的Queue job的時候 如果希望job中斷還可以重新啟動這個時候就會需要用到Supervisor了 本篇文章為您帶來如何使用Supervisor執行Laravel的queue:work的教學
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
這篇文章將會提供在伺服器上安裝憑證的步驟,包括下載憑證,設定php.ini以及重新啟動Web Server等。
在使用laravel中的Queue job的時候 如果希望job中斷還可以重新啟動這個時候就會需要用到Supervisor了 本篇文章為您帶來如何使用Supervisor執行Laravel的queue:work的教學
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
這篇文章將會提供在伺服器上安裝憑證的步驟,包括下載憑證,設定php.ini以及重新啟動Web Server等。
你可能也想看
Google News 追蹤
Thumbnail
「蛤!?到底什麼是編碼?網路上都查不到一個簡單的定義!」 剛進研究室的你,被教授指派了許多任務,其中一件是要把質性資料給「編碼」,你是不是也像我一樣霧煞煞QQ 快點進來看看,我幫你統整了一篇簡單易懂的說明,讓你快速了解編碼是什麼!!
Thumbnail
这篇文章主要介绍了加密技术的应用有哪些技术?加密技术怎么样?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 目录* 一文了解加密技术的应用有哪些? 一、
在今日數位化的世界中,保護資料的安全性尤為重要。加密憑證(SSL/TLS Certificates)扮演著確保網站和用戶之間資料傳輸安全的重要角色。本文將深入探討加密憑證的原理、作用以及如何選擇適合的加密憑證來保護您的網站。 1. 加密憑證的基本概念 加密憑證是一種數位檔案,用於證明網站身份的真
Thumbnail
本篇文章介紹後量子密碼學,包含了必要的基礎知識。密碼學、量子電腦演算法、後量子密碼學以及量子密碼學等專業術語。
Thumbnail
進入區塊鏈/Web3的世界,首先需要擁有一個錢包或帳號。本文從重要名詞和觀念入手,介紹公鑰和私鑰的重要性,以及助記詞的作用。探討加密錢包的種類,從私鑰控制權和網路連接的角度進行分類。同時提醒了私鑰保管的重要性,以及在交易所和網路交互中的安全提醒。最後透過實際案例介紹了社交工程和釣魚的危害。
Thumbnail
「蛤!?到底什麼是編碼?網路上都查不到一個簡單的定義!」 剛進研究室的你,被教授指派了許多任務,其中一件是要把質性資料給「編碼」,你是不是也像我一樣霧煞煞QQ 快點進來看看,我幫你統整了一篇簡單易懂的說明,讓你快速了解編碼是什麼!!
Thumbnail
这篇文章主要介绍了加密技术的应用有哪些技术?加密技术怎么样?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 目录* 一文了解加密技术的应用有哪些? 一、
在今日數位化的世界中,保護資料的安全性尤為重要。加密憑證(SSL/TLS Certificates)扮演著確保網站和用戶之間資料傳輸安全的重要角色。本文將深入探討加密憑證的原理、作用以及如何選擇適合的加密憑證來保護您的網站。 1. 加密憑證的基本概念 加密憑證是一種數位檔案,用於證明網站身份的真
Thumbnail
本篇文章介紹後量子密碼學,包含了必要的基礎知識。密碼學、量子電腦演算法、後量子密碼學以及量子密碼學等專業術語。
Thumbnail
進入區塊鏈/Web3的世界,首先需要擁有一個錢包或帳號。本文從重要名詞和觀念入手,介紹公鑰和私鑰的重要性,以及助記詞的作用。探討加密錢包的種類,從私鑰控制權和網路連接的角度進行分類。同時提醒了私鑰保管的重要性,以及在交易所和網路交互中的安全提醒。最後透過實際案例介紹了社交工程和釣魚的危害。