日期:2014-05-20  浏览次数:20763 次

登录时候 怎么加密解密啊
数据库中的 密码是经过加密后的 十六进制数据 

我登录时候 输入用户名 密码 密码参数经过加密程序后 通过和 从数据库中查询出来的密码对比吗 


是否就这样做登录呢 有哪些需要注意的问题啊 

第一次涉足这块 还请各位大哥 帮帮忙 感激不尽

------解决方案--------------------
你说的对,这样能保证连系统管理员都无法看到你的密码。
------解决方案--------------------
验证密码的时候登录密码加密,从数据库中读出的密码也是经过加密的,然后比较的是加密后的密码,这样才能起到加密的效果
------解决方案--------------------
找个加密方法,在set方法里面套用这个加密方法,其他地方就不用管了。

写到数据库里面的也都是加密好的数据了

因为你加密方法写在set方法里,你拿到的就已经全都是加密好的数据,所以你要比较直接比较就行了。

在你想要显示密码的地方,再解密一下。不过要把密码显示出来的地方不太多吧。
或许在用户注册成功之后会给他送一个显示密码的邮件。
------解决方案--------------------
探讨
数据库中的 密码是经过加密后的 十六进制数据

我登录时候 输入用户名 密码 密码参数经过加密程序后 通过和 从数据库中查询出来的密码对比吗


是否就这样做登录呢 有哪些需要注意的问题啊

第一次涉足这块 还请各位大哥 帮帮忙 感激不尽

------解决方案--------------------
就是啊,密码用MD5加密后放入数据库,登陆时从数据库取出然后和输入的密码(也要加密)进行比较!
------解决方案--------------------
package com.ysg;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import sun.misc.BASE64Encoder;

/**
 * 
 * @author 余胜国
 * @msg.MD5(信息摘要)加密.
 * 
 */
public class TestMD5 {

/**
* 按MD5编码

* @param str
* @return
* @throws NoSuchAlgorithmException
* @throws UnsupportedEncodingException
*/
public String EncoderByMd5(String str) throws NoSuchAlgorithmException,
UnsupportedEncodingException {
// 确定计算方法(实例化MD5信息摘要)
MessageDigest md5 = MessageDigest.getInstance("MD5");
BASE64Encoder base64en = new BASE64Encoder();
// 加密后的字符串
String newstr = base64en.encode(md5.digest(str.getBytes("GB2312")));
return newstr;
}

/**
* 程序入口

* @param args
*/
public static void main(String[] args) {
try {
TestMD5 md5 = new TestMD5();
String pwddb = "1aEUkwwECG62BQx+unQ0RQ==";// 假如这是数据库保存的密码(数据库保存的密码为之前按MD5加密过的字符串)
String pwdin = "yushengguo";// 用户在文本框输入的密码

String encodePwdin = md5.EncoderByMd5(pwdin);// 按MD5把用户输入的密码加密后与数据库保存的密码进行对比

/**
* 如果数据库保存的那一堆东西(MD5加过密的)与我输的字符串按MD5加密后进行对比。 如果相等,证明在未加密之前也是相等的。
* 另外,说明一点,MD5是单向加密,也就是不可逆, 通俗点说就是,不可以解密,唯一的办法就如实例一样,都按MD5加密后对比.
* 能理解???
*/
if (pwddb.equals(encodePwdin)) {
System.out.println("密码正确!");
} else {
System.out.println("密码错误!");
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

}


//=====================
刚好给朋友写了一个,拿来给你参考下,希望对你有帮助