# [Security] Hashing and Encryption Encryption: 可逆的, 將明文轉為密文, 也可以將密文轉為明文. Hashing: > 不是所有的資料都需要經由加解密處理,有些資料是不應該被還原的,只需要經由一道程序去驗證你得到的資料是正確的即可. 雜湊是一個由資料本體中計算出資料摘要的技術,它所得到的資料只能證明在計算當下,針對資料本體所得到的特徵,日後如果要檢驗資料本體是否有被異動,只要用相同的計算方式重新針對資料跑一次,若得到了相同的特徵,表示資料沒有被改動過,但它無法得到資料本體,也就是無法由摘要或特徵去反算出本體的長相,就像是你知道帥哥或正妹的特徵,但是沒辦法完全對應到某個帥哥或某個正妹一樣。 資料庫(id(primary key),information,password after hashing) 1. 設定密碼->密碼經過hashing->產生資料指紋(幾乎獨一無無二, 幾乎無collision)->存放於資料庫 2. 登入帳號與密碼, 輸入密碼經過hashing, 與資料庫內設定的的資料指紋比較, 若相同則登入成功, 反之則失敗 [Reference-小朱® 的技術隨手寫](https://dotblogs.com.tw/regionbbs/2017/09/21/hashing_is_not_encryption)