java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
本篇文章主要介绍 JAVA 中使用 MD5 加密实现密码加密,很多地方都要存储用户密码, 这里整理了详细的代码, 有需要的小伙伴可以参考下
1. 新建 Md5.java
- package com.loger.md5;
- import java.io.UnsupportedEncodingException;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import sun.misc.BASE64Encoder;
- public class Md5 {
- /**利用MD5进行加密*/
- public String EncoderByMd5(String str) throws NoSuchAlgorithmException,
- UnsupportedEncodingException {
- //确定计算方法
- MessageDigest md5 = MessageDigest.getInstance("MD5");
- BASE64Encoder base64en = new BASE64Encoder();
- //加密后的字符串
- String newstr = base64en.encode(md5.digest(str.getBytes("utf-8")));
- return newstr;
- }
- /**判断用户密码是否正确
- *newpasswd 用户输入的密码
- *oldpasswd 正确密码*/
- public boolean checkpassword(String newpasswd, String oldpasswd) throws NoSuchAlgorithmException,
- UnsupportedEncodingException {
- if (EncoderByMd5(newpasswd).equals(oldpasswd)) return true;
- else return false;
- }
- }
2. 新建测试类
- package com.loger.md5;
- import java.io.UnsupportedEncodingException;
- import java.security.NoSuchAlgorithmException;
- public class MyTest {
- public static void main(String[] args) throws NoSuchAlgorithmException,
- UnsupportedEncodingException {
- Md5 md5 = new Md5();
- String str = "apple";
- try {
- String newString = md5.EncoderByMd5(str);
- System.out.println(newString);
- } catch(NoSuchAlgorithmException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch(UnsupportedEncodingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println(md5.EncoderByMd5("apple").equals("HzhwvidPbEmz4xoMZyiVfw=="));
- }
- }
运行结果:
说明:
可能会出现找不到 BASE64Encoder 这个类,在 eclipse 中按住 ctr+shift + T 即可查找到!
来源: http://www.phperz.com/article/17/1228/356617.html