今天在MyEclipse的WebProject项目或JavaProject项目下对password进行MD5加密时,发现无法使用BASE64Encoder,即在Web项目的默认jre Library 中无法找到该类,如下图所示:
鼠标悬停在BASE64Encoder上也没有导包的提示,这时候,我们可以按照如下步骤操作:
- 右击工程,在菜单中选择Properties选项:
在弹出的窗口中选择Java Build Path设置项,再选择Libraries标签,点击Add External Jars:
在弹出的窗口中,找到你安装的jre目录下lib文件夹中的rt.jar ,点击打开,如下图所示:
这时候Java Build Path设置项中就出现了rt.jar 文件,点击OK即可。
这时候再回到我们的项目中,可以发现鼠标悬停在BASE64Encoder上时会出现导包的提示了:
运行程序,发现password顺利的被加密输出。
- 本次测试的代码如下:
package com.company.test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Encoder;
public class Test {
public static void main(String[] args) {
String password = "123456" ;
String key = "key" ;
password = password + key ;
MessageDigest md = null;
try {
md = MessageDigest.getInstance("md5");
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BASE64Encoder en = new BASE64Encoder();
System.out.println(en.encode(md.digest(password.getBytes())));
}
}