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 即可查找到!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java MD5加密实现代码

    先从下面这张图对MD5加密实现进行了解,具体如下 package com.pb; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Scanner; /* * 验证MD5 * 1.初始化MessageDigest信息摘要对象 * 2.传入需要计算的字符串更新摘

  • Java实现MD5加密的方法

    本文实例讲述了Java实现MD5加密的方法.分享给大家供大家参考.具体实现方法如下: import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5HashUtil { private MessageDigest md = null; private static MD5HashUtil md5 = null; private static final char

  • java编程下字符串的16位,32位md5加密实现方法

    如下所示: package cn.sunzn.md5; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Str2MD5 { public static void main(String[] args) { MD5("sunzn"); } private static String MD5(String sourceStr) { String r

  • Java实现MD5加密及解密的代码实例分享

    基础:MessageDigest类的使用 其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣: /** * 对字符串md5加密 * * @param str * @return */ import java.security.MessageDigest; public static String getMD5(String str) { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.g

  • java中常用工具类之字符串操作类和MD5加密解密类

    java中常用的工具类之String和MD5加密解密类 我们java程序员在开发项目的是常常会用到一些工具类.今天我分享一下我的两个工具类,大家可以在项目中使用. 一.String工具类 package com.itjh.javaUtil; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import

  • java加密算法分享(rsa解密、对称加密、md5加密)

    复制代码 代码如下: import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;import java.security.PublicKey;import jav

  • java实现md5加密示例

    复制代码 代码如下: /**  * 实现MD5加密  *  */ public class MD5 {    /**   * 获取加密后的字符串   * @param input   * @return   */  public static String stringMD5(String pw) {   try {               // 拿到一个MD5转换器(如果想要SHA1参数换成"SHA1")          MessageDigest messageDigest

  • Java后端实现MD5加密的方法

    前言 在我们开发是要考虑这个功能,当用户忘记密码的情况下,我们需要动态的发给他一个6位的随机密码,通过即时通,短信,微信等.并同时修改数据库中的原密码为这6位的随机密码.让用户再去修改密码. 同时在数据库中的密码必须存为密文,于是需要使用到MD5加密.生成的6位随机密码需要保密,不能在前台处理,只能放在后端.于是我选择放在了控制层中 示例代码 //传入任何需要加密的文本进行加密 public static String getMd5(String string) { try { MessageD

  • Java生成MD5加密字符串代码实例

    (1)一般使用的数据库中都会保存用户名和密码,其中密码不使用明码保存.     有时候用MD5密码,很多语言都提供了将字符串生成为MD5密码的方法或函数.MD5的加密算法是公开的.     有时候也可以用自己的字符串加密算法,这种加密算法是只有自己知道的. (2)破解MD5的过程就是先算好大量或者所有可能的字符串的MD5数值,之后进行查询就可以破解.虽然有些网站规定了密码的位数在6~20位之间,但是要事先计算这么多是字符串并有效的组织存储.查询还是相当麻烦,相当慢的. 因为MD5的位数是固定的,

  • java实现MD5加密方法汇总

    代码一: /** * 实现MD5加密 * */ public class MD5 { /** * 获取加密后的字符串 * @param input * @return */ public static String stringMD5(String pw) { try { // 拿到一个MD5转换器(如果想要SHA1参数换成"SHA1") MessageDigest messageDigest =MessageDigest.getInstance("MD5"); /

  • Java MD5加密(实例讲解)

    MD5 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992). MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之

随机推荐