iT邦幫忙

0

md5加解密

  • 分享至 

  • xImage

目前在研究加解密時,對於md5有兩點疑問想請各位大大解惑:
1.md5為不可逆的加密方法,若加密存到資料庫後,如何進行比對呢?
2.目前使用aes-128-cbc來實做,對於md5來說不可逆的方法適用在哪種時機呢?
謝謝大大分享~

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
bodera
iT邦新手 4 級 ‧ 2022-07-29 16:16:16
最佳解答

最常見的不可逆加密實作就是密碼,每個使用者在申請會員時會隨機產生一組salt並利用這個salt與密碼進行hash,而DB中這位使用者的資料就需要儲存這個salt與hash值,在下次使用者登入時將使用者輸入的密碼與salt進行hash再將結果與資料庫中的hash做比對,以上就可以達到不明文紀錄密碼的功能。

好像一次回答完兩個問題了...

看更多先前的回應...收起先前的回應...
qpalzm iT邦新手 1 級 ‧ 2022-07-29 17:01:35 檢舉

目前我是使用先將密碼用hash變成亂碼在用aes-128-cbc在加密一次,想請問這樣的做法與您說的做法,我的會是多此一舉嗎?謝謝您

淺水員 iT邦大師 6 級 ‧ 2022-07-29 19:11:30 檢舉

密碼 hash 後再做 aes 的意義不大
比起 aes,我更在乎有沒有加 salt
另外 md5 畢竟比較古老,可以的話改用 sha2 以上的會比較好

qpalzm iT邦新手 1 級 ‧ 2022-08-01 08:58:50 檢舉

淺水員 想請問意義不大的原因是甚麼?
p.s謝謝大大的建議
/images/emoticon/emoticon41.gif

bodera iT邦新手 4 級 ‧ 2022-08-01 09:00:11 檢舉

淺水員大大說的沒錯,hash後的值基本上除了用來比對已經無其他意義
所以再對其做一次AES加密也不是不行,只是有點多此一舉。

bodera iT邦新手 4 級 ‧ 2022-08-01 09:02:41 檢舉

因為雜湊是不可逆,因此雜湊出來的值並沒有任何計算上的意義。
不同的input雜湊後是有很低很低的機率會相同的。
如果你雜湊後再做一次AES加密當然也可以,那你的資料庫就會需要多一個欄位存AES加密時用的IV

qpalzm iT邦新手 1 級 ‧ 2022-08-01 09:33:24 檢舉

了解~謝謝大大們的解說/images/emoticon/emoticon41.gif

1
純真的人
iT邦大師 1 級 ‧ 2022-07-29 16:03:50

當然送過來的資料也要MD5加密~再將資料庫的加密字串比對~

qpalzm iT邦新手 1 級 ‧ 2022-07-29 16:59:43 檢舉

那想額外請問如果一串字串1~9 長度3的密碼存到資料 ,如果我用亂數去跑回圈+md5加密,這樣就會找到一組密碼,那如果單純只用md5的話是不是很容易破解呢?謝謝您~

沒那麼容易跑的到~更何況~現在網站有防輸入三次錯誤~帳號就被鎖住幾天禁止再送出登入以及鎖住IP訪問了~

qpalzm iT邦新手 1 級 ‧ 2022-07-29 17:07:57 檢舉

了解~謝謝大大的解說~

1

已經回答完了。我就補充一些點

省先,採用MD5的時機,除了密碼之外。
其實只要是不需要知道原本的值。都可以使用MD5處理

使用MD5的好處,除了無法還原之外。
它其實也有一個好處,就是固定位元數。
當然這也可以算是他的缺點。

但要知道一件事,你在回答中有提到。
就是,其實是有機會重覆到。

qpalzm iT邦新手 1 級 ‧ 2022-08-01 08:55:08 檢舉

好的謝謝大大的分享~ 加解密水真的好深/images/emoticon/emoticon41.gif

我要發表回答

立即登入回答