看板 Web_Design 關於我們 聯絡資訊
做了一個會員登入的頁面... 1. 如果在語法中的密碼欄位加入md5,在資料庫中的密碼欄位就會變成無意義亂碼,對吧? 2. 承1,如果變成無意義亂碼,那登入會員時輸入密碼, 資料庫又怎麼跟已變成無意義數字比對? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.210.237 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1401292557.A.C1D.html
mmis1000:就把他登入會員時的密碼,拿去md5,看是否一樣啊... 05/29 00:01
LPH66:md5 只要輸入一樣輸出就會一樣, 所以就照一樓做的就好 05/29 00:13
alog:一個資料未加密叫做明文 經過處理後叫做密文 05/29 00:37
alog:你就用密文去比對資料庫內的密文就解了 05/29 00:37
hit1205:XDDDDDDD 05/29 09:07
ssccg:跟你問題沒關不過建議不要用md5,連sha1都快要被淘汰了.. 05/29 09:24
hit1205:如果 PHP >= 5.5 的話有 password_hash() 可以用 XD 05/29 10:03
※ 編輯: woti (220.134.210.237), 05/29/2014 23:54:55
ez880:哪兒來的無意義亂碼 那碼都很有意義的好嗎~ 05/29 23:56
ez880:MD5還是很安全的 05/29 23:56
ez880:最平常的密碼加密 pws= 'md5(account,password)' 05/29 23:57
alog:對沒有程式或密碼學概念的,真的叫做亂碼XD 05/30 00:14
alog:sha1 跟 md5 是很安全的 而且只要融入凱撒密碼的概念 05/30 00:16
alog:再對計算出來的 digest 進行資料替換 05/30 00:17
alog:Rainbow table attack 完全起不了作用 05/30 00:17
alog:除非一開始就知道凱薩密碼的秘密 05/30 00:17
banjmin:bcrypt scrypt hacker不會想硬碰硬 05/30 00:25
ssccg:hash value除了value以外沒別的意義,說亂碼沒錯啊 05/30 01:01
ssccg:演算法不單是安全的問題,還有觀感問題,有建議用的就用 05/30 01:02
ez880:SOR 我指的是 "無意義"亂碼 05/30 01:02
ssccg:而且不是所有人都會公佈發現的破解法,尤其像NSA之類的 05/30 01:03
ez880:少在那危言聳聽 md5到目前為止還是很安全的演算法 05/30 01:08
ez880:hash 其實也不會差距太多 看你加密的方式而已 05/30 01:09
alog:md5怕rainbow table attack而已 要碰撞還真的遇不太到 05/30 01:09
alog:不過如果用在檔案資料的驗證/稽核上,就得用sha1了 05/30 01:10
ssccg:除非有明顯好處,不然為什麼要特別用許多人不敢用的東西? 05/30 01:12
ez880:多少人使用php 多少人 在5.5up? 我在多重加密的份上 05/30 01:12
ssccg:上面不就說了不只是安全問題 05/30 01:12
ez880:目前來說根本就不可能的東西你也要講 也只有PHP 能用 05/30 01:13
alog:php官方大概是希望用這個方式來強迫初學者用更合適的方案 05/30 01:14
ez880:假設發言者不是使用php 那不就使整個再誤導他嗎 05/30 01:15
ssccg:不是我也要講,是有人在講,上面那個不是要說PHP有bcrypt能 05/30 01:15
alog:他的概念在我數年前就幹過了 我能理解官方會特別寫一篇的原因 05/30 01:15
ssccg:用,是要說這又不是只有我在危言聳聽 05/30 01:15
ez880:加密的問題本來就是自己在撰寫程式的時候的事情 05/30 01:16
ez880:跟 md5 hash有什麼關係 -.- 05/30 01:16
ez880:就算不是只是你在危言聳聽 你也是幫兇不是嗎 -.- 05/30 01:17
ssccg:現實就已經是這樣,與其說危不危言,不如舉用md5的好處在哪? 05/30 01:18
alog:大概就方便吧 haha 05/30 01:19
ez880:起碼md5是目前唯一還可以堪用的演算法 05/30 01:19
alog:二來這個實作上 只要你會設計加密的過程 各種平台都可以得到 05/30 01:19
alog:同樣的結果 05/30 01:19
ez880:要不您老來提出一個更厲害的演算法再叫人不要用md5? 05/30 01:20
ez880:不給解答只會嘴砲有個屁用阿? 05/30 01:20
yanli2:我有歷史的包袱 PHP最近也只能升到5.3 = = 05/30 01:21
alog:你如果你能昇到5.3差不多可以昇到5.4 05/30 01:21
alog:不過我想會有很多東西門戶大開XD 05/30 01:22
alog:然後5.4基本上可以跑的話 5.5 也應該可以用 05/30 01:22
alog:password_hash 的設計概念我沒看錯的話是對抗 rainbow table 05/30 01:23
alog:但這個設計太ㄍㄟ熬了 05/30 01:24
ez880:脫褲子放屁 基本就是在跟別人說 你看 我的密碼加密是這樣的 05/30 01:25
alog:md5仍然是世界上流通的演算法,單純加密短資料 05/30 01:28
ssccg:反正我只是要跟原po說有這個議題在,又不是要說服你用 05/30 01:28
alog:我覺得還是可以用的,配合我剛講的凱薩密碼或salt概念 05/30 01:28
alog:要破其實還蠻難的 05/30 01:28
ssccg:當然更重要的是一定要有salt 05/30 01:28
alog:畢竟 password_hash 還很年輕 05/30 01:28
alog:哪天突然哪個駭客又想到..破解了盲點 05/30 01:29
alog:像是OpenSSL前陣子的heartbleed 就跌破大家的眼鏡 05/30 01:30
alog:我靠這個漏洞在某幾家知名公司撈了不少資料呢~xD 05/30 01:30
ez880:沒錯不用說服我 不過的論點也太弱了 危言聳聽不是嗎? 05/30 01:35
ez880:既然你只是在網路上隨便看看 現在又隨便講 沒有根據的東西 05/30 01:37
ez880:那我戳破你有什麼不好意思的? 05/30 01:37
danny8376:別說md5碰撞很難啊... X.509完全不使用md5有原因的 05/30 01:38
danny8376:不過以一般密碼hash這種沒幾bytes的來說確實不會碰撞 05/30 01:39
alog:X.509的標準來看md5那就不ok啦 05/30 01:39
alog:光是大量的file如果都以md5做驗證我都怕怕的 05/30 01:39
danny8376:不過一個基本原則就是salt每個帳號不同 05/30 01:40
alog:你自己想想看 md5就像是一直牛都給攪碎機攪碎 05/30 01:40
alog:出來都是組合牛肉,看起來都差不多 05/30 01:40
danny8376:除非你禁止使用者使用弱密碼 05/30 01:40
danny8376:不然一個弱密碼會變加密的缺口www 05/30 01:40
ez880:沒有完美的鑰匙 這沒辦法 05/30 01:42
alog:不過大部分遇到的漏洞是,應用層這邊的問題比較大 05/30 01:44
alog:然後db資料就莫名其妙被流出去了, 05/30 01:45
alog:各家公司只能賭人品 對方不會用cmd5.com之類的服務解md5 05/30 01:45
alog:如果沒有一定的線索,駭客沒有電影演的那麼神,要入侵就入侵 05/30 01:46
alog:要破解密碼就破解密碼 CSI犯罪現場看似那麼神 也沒真的出現 05/30 01:46
alog:除非公司特別被鎖定了,否則真的沒有駭客對你的東西太感興趣 05/30 01:47
alog:網路犯罪是需要很周詳的計劃才能執行的 05/30 01:48
ez880:基本上主機會被入侵都不是因為密碼的問題 -.- 05/30 01:49
ez880:9成都是自己權限或是系統的漏洞讓人侵入的 跟編碼有什麼關係 05/30 01:50
alog:avast前陣子被入侵 整個糗爆XD 05/30 01:50
danny8376:解密碼只因為一點 很有可能其他網站也能用(笑 05/30 01:50
ez880:現在真的要弄才懶得拿字點檔跟你拚呢 這樣風險多大啊? 05/30 01:51
danny8376:密碼當然是DB dump出來離線慢慢解成明文啊... 05/30 01:51
ez880:那也是要先被漏出來..... 05/30 01:52
danny8376:而密碼被解成明文才是最危險的部分啊 05/30 01:52
danny8376:密碼要hash就是怕DB被dump後能拿到每個人的"常用"密碼啊 05/30 01:53
ez880:不過這對一般網站而言 可能到他的曾孫都不會發生的事情吧 05/30 01:53
ez880:您說的那高風險的問題~ 還是要回歸到原始 編碼問題~ 05/30 01:54
alog:回歸到一個基本的面向,程式師設計最起碼要知道md5的極限XD 05/30 01:56
alog:db 這種東西 archive 起來 幾G幾T而已 要擺多久都可以 05/30 01:57
alog:php被sql injection這個弄到怕怕der了 05/30 01:58
alog:官方大概是考量往後的資訊安全,弄了 password_hash 05/30 01:58
alog:不過我還真不曉得,如果這種東西要跟異質系統結合 要怎麼遷 05/30 01:59
alog:其他的語言有類似 password_hash 的實作嗎 @@ 05/30 01:59
alog:感覺沒喬好系統整個被php綁死 05/30 02:00
ez880:密碼學的東西 真的要知道去看點書上個課 05/30 02:02
banjmin:bcrypt都有啊 algo 怎麼會綁在某語言上 05/30 02:03
ez880:利害你弄出一套通用的演算 再來講 不然md5 還是很夠吃的 05/30 02:03
alog:banjmin =...= 沒注意看到 05/30 02:04
ez880:不然普遍的中小型網站都是很夠用的 -.- 只要你加密的對象是 05/30 02:05
ez880:是夠多的 05/30 02:06
alog:我總覺得這個樓..歪蠻大的 哈哈 05/30 02:09
alog:原PO不知上哪去了 05/30 02:10
ez880:資安問題 這樣歪也還好 md5~~~~~~~~~~~~~~~~~~~ 05/30 02:14
danny8376:反正md5強度不差 就怕沒salt 那就真的跟沒有一樣... 05/30 03:18