最近在做毕业设计的,关于md5加密问题,求解啊.
我把密码给md5加密了,怎么用数据库查询它?密码加密后是一串数,数据库查询会报错的啊,难道还要解密一次?怎么搞的啊?
------解决方案--------------------呃 看来你对加密解密机制不是很了解,建议先把加密机制学习一下。
md5是不可逆的加密,也就是你只能将字符串用md5加密,而无法解密。
在注册时就应该对密码进行md5加密,验证时也需要对密码md5加密,验证的是前后的md5字符串是否匹配。
数据库当然也是存入的进行md5加密后的字符串,如果密码明文,你的数据库数据被窃取了,你用户的密码不就都泄露了吗?相当不安全。
------解决方案--------------------注册时,就是用普通密码,在把密码保存入库之前,用md5加密,存入数据库。
用户登录时,就用普通密码,在查询数据库密码是否正确时,就先把普通密码用md5加密,
然后再执行sql语句,这样传入到数据库中查询密码就是md5的,可以直接比较了。
另外,密码在数据库里的字段类型是varchar就行。