賬號(hào)激活主要是防止用戶注冊(cè)時(shí)填寫假的E-mail地址,藉以賬號(hào)激活將激活碼發(fā)送至用戶郵箱以便激活賬號(hào)。
需要數(shù)據(jù)表的設(shè)計(jì):
1,用戶名(Unique)
2,E-mail(Unique)
3,激活碼(Unique)
4,狀態(tài):1:尚待激活;2:已激活
在用戶注冊(cè)時(shí),通過用戶名、E-mail及注冊(cè)時(shí)間(毫秒時(shí)間)等信息采用特定的算法,一般采用不可逆的摘要算法,如:MD5、SHA等。生成一組摘要,注冊(cè)后將激活碼作為URL參數(shù),比如:www.abc.com/user/activation?code=123456,code的值為激活碼,將這一鏈接發(fā)送E-mail給用戶,在用戶點(diǎn)擊該鏈接后,通過code將這個(gè)激活碼的賬號(hào)狀態(tài)設(shè)為“已激活”即可。由于激活碼是Unique的,所以不可能出現(xiàn)相同的,之所以采用MD5、SHA,是由于MD5出現(xiàn)碰撞的概率很小,SHA則更小,而且Java中也提供了現(xiàn)成的類庫用于產(chǎn)生信息摘要,使用起來比較方便。