回到首頁
個人.家庭.數位化 - 數位之牆



產業動態 程式設計師的資安第一課: 密碼驗證
玉山科技 本新聞稿發佈於2006/09/12,由發布之企業承擔內容之立場與責任,與本站無關

典型的應用程式,啟動後, 第一件事是要求輸入使用者代號與密碼, 如果你將使用者代號與密碼資料存放在資料庫裡, 這時你要注意的第’零’件事是輸入檢核, 以避免SQL Injection發生. 接者你要驗證密碼對不對, 你最好不要真的去比對密碼值……

 
■ 發布/輪播新聞稿 新聞稿直達14萬電子報訂戶刊登新聞稿:按此 想在你的Blog上輪播產業動態按此
 


不要真的去撈出密碼值來與使用者輸入的密碼比對, 因為這樣你必須將密碼值以明碼方式存放在資料庫(或某檔案或Registry)裡, 你會冒了一個所有使用者代號與密碼洩漏的風險. 當然你可以將密碼欄位加密起來, 但有更簡單的方式….

你可以將密碼以Hash的方式存起來(資料庫或檔案或Registry裡), 然後將使用者輸入的密碼值用同樣的Hash Function運算得到一個Hash值, 再去比較你存下來的Hash值, 如果相同就表示密碼值一樣, 如果不同就是密碼不對. Hash是一個單向的演算法, 無法反運算回來, 換言之, 無法以Hash Value反推回原來的值. 這避免了你洩露密碼值的風險.

所以, 你不要這樣做:

Username Password
-------- --------
james god123
lucas sex999
anna love4ever

你應該這樣存:

Username Password
------------- -------------------------------------------------------------------------
james 21298DF8A3277357EE55B01DF9530B535CF08EC1
lucas 68BB04BD54B8F6C530695E0B77DE298276A0511D
anna 9F2FEB0F1EF425B292F2F94BC8482494DF430413

沒有人可以由21298DF8A32…..算出 god123
但一定要是god123才能得到21298DF8A32…..

程式如何做 ? 你需要類似MakeHash(value)這樣的 SQL Procedure加到你的SQL程式碼. Hash 的演算法有很多種, 例如SHA-1, SHA-2, MD5…安全強度不一, 你可以選擇合適的來用. 關於Hash的更多資訊與用途, 可搜尋Google或 Wikipedia 網站.

用Hash來保護使用者的密碼只是您要學的第一個課題. 不要讓別人說程式設計師只會注重程式的寫作技巧,結果寫出漏洞百出, 風險極高的應用系統來

XP_Crypt是一套寫好的 Stored Procedures,內含Hash Functions,及其它各種國際標準的加解密演算功能, 可以很容易的崁入到您的SQL程式裡.

詳細資料請參考: http://www.asiapeak.com/XPCrypt.php

- 新聞稿有效日期,至2006/10/12為止


聯絡人 :services
聯絡電話:(02)77128686
電子郵件:services@asiapeak.com

上一篇:資策會10/13開辦ITIL Foundation課程
下一篇:中小企業電子化全省巡迴講座

 
搜尋本站


最新科技評論

共享經濟:以人民的名義爭奪流量入口 - 2017/06/18

影音網站的未來(三) PGC孵化IP,直播更接近長尾 - 2016/10/16

影音網站的未來(二)短影音適合往社交和工具發展 - 2016/10/09

影音網站的未來(一)長尾效應與頭部效應無法兼顧 - 2016/10/02

大部分O2O 模式違反網際網路經濟特性 - 2015/02/08

融資是怎麼回事(下)什麼人能拿到投資 - 2015/01/04

融資是怎麼回事(中)讀懂投資人的唇語 - 2014/12/21

融資是怎麼回事(上)融資是迭代的過程 - 2014/12/14

奢品服務業O2O 興起,網際網路創業者的新機會 - 2014/07/20

■ 訂閱每日更新產業動態
RSS
RSS

當月產業動態

Information

 

 

 

 




個人.家庭.數位化 - 數位之牆

欲引用本站圖文,請先取得授權。本站保留一切權利 ©Copyright 2008, DigitalWall.COM. All Rights Reserved.
Question ? Please mail to service@digitalwall.com

歡迎與本站連結!