账号激活主要是防止用户注册时填写假的E-mail地址,藉以账号激活将激活码发送至用户邮箱以便激活账号。
需要数据表的设计:
1,用户名(Unique)
2,E-mail(Unique)
3,激活码(Unique)
4,状态:1:尚待激活;2:已激活
在用户注册时,通过用户名、E-mail及注册时间(毫秒时间)等信息采用特定的算法,一般采用不可逆的摘要算法,如:MD5、SHA等。生成一组摘要,注册后将激活码作为URL参数,比如:
www.abc.com/user/activation?code=123456,code的值为激活码,将这一链接发送E-mail给用户,在用户点击该链接后,通过code将这个激活码的账号状态设为“已激活”即可。由于激活码是Unique的,所以不可能出现相同的,之所以采用MD5、SHA,是由于MD5出现碰撞的概率很小,SHA则更小,而且Java中也提供了现成的类库用于产生信息摘要,使用起来比较方便。
posted on 2008-01-27 10:56
EricWong 阅读(1993)
评论(5) 编辑 收藏 所属分类:
Java