md5算法java的简单介绍

博主:adminadmin 2022-12-01 21:32:08 56

本篇文章给大家谈谈md5算法java,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA中有没有提供MD5算法的包啊?

有,在java.security包的MessageDigest类。

例子:

import java.security.MessageDigest;

public class Test2 {

public static void main(String[] args) {

Test2 t = new Test2();

System.out.println(t.bytesToMD5("a".getBytes()));

}

//把字节数组转成16进位制数

public String bytesToHex(byte[] bytes) {

StringBuffer md5str = new StringBuffer();

//把数组每一字节换成16进制连成md5字符串

int digital;

for (int i = 0; i bytes.length; i++) {

digital = bytes[i];

if(digital 0) {

digital += 256;

}

if(digital 16){

md5str.append("0");

}

md5str.append(Integer.toHexString(digital));

}

return md5str.toString();

}

//把字节数组转换成md5

public String bytesToMD5(byte[] input) {

String md5str = null;

try {

//创建一个提供信息摘要算法的对象,初始化为md5算法对象

MessageDigest md = MessageDigest.getInstance("MD5");

//计算后获得字节数组

byte[] buff = md.digest(input);

//把数组每一字节换成16进制连成md5字符串

md5str = bytesToHex(buff);

} catch (Exception e) {

e.printStackTrace();

}

return md5str;

}

}

java 如何采用md5解密

package endecrypt;

import java.io.UnsupportedEncodingException;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

/**

* 采用MD5加密解密

* @author tfq

* @datetime 2011-10-13

*/

public class MD5Util {

/***

* MD5加码 生成32位md5码

*/

public static String string2MD5(String inStr){

MessageDigest md5 = null;

try{

md5 = MessageDigest.getInstance("MD5");

}catch (Exception e){

System.out.println(e.toString());

e.printStackTrace();

return "";

}

char[] charArray = inStr.toCharArray();

byte[] byteArray = new byte[charArray.length];

for (int i = 0; i charArray.length; i++)

byteArray[i] = (byte) charArray[i];

byte[] md5Bytes = md5.digest(byteArray);

StringBuffer hexValue = new StringBuffer();

for (int i = 0; i md5Bytes.length; i++){

int val = ((int) md5Bytes[i]) 0xff;

if (val 16)

hexValue.append("0");

hexValue.append(Integer.toHexString(val));

}

return hexValue.toString();

}

/**

* 加密解密算法 执行一次加密,两次解密

*/

public static String convertMD5(String inStr){

char[] a = inStr.toCharArray();

for (int i = 0; i a.length; i++){

a[i] = (char) (a[i] ^ 't');

}

String s = new String(a);

return s;

}

// 测试主函数

public static void main(String args[]) {

String s = new String("tangfuqiang");

System.out.println("原始:" + s);

System.out.println("MD5后:" + string2MD5(s));

System.out.println("加密的:" + convertMD5(s));

System.out.println("解密的:" + convertMD5(convertMD5(s)));

}

}

java如何算md5码?

可以利用JDK自带的MD5来加密。

public class MD5Util {

    public final static String MD5(String s) {

        char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};       

        try {

            byte[] btInput = s.getBytes();

            // 获得MD5摘要算法的 MessageDigest 对象

            MessageDigest mdInst = MessageDigest.getInstance("MD5");

            // 使用指定的字节更新摘要

            mdInst.update(btInput);

            // 获得密文

            byte[] md = mdInst.digest();

            // 把密文转换成十六进制的字符串形式

            int j = md.length;

            char str[] = new char[j * 2];

            int k = 0;

            for (int i = 0; i  j; i++) {

                byte byte0 = md[i];

                str[k++] = hexDigits[byte0  4  0xf];

                str[k++] = hexDigits[byte0  0xf];

            }

            return new String(str);

        } catch (Exception e) {

            e.printStackTrace();

            return null;

        }

    }

    public static void main(String[] args) {

        System.out.println(MD5Util.MD5("20121221"));

        System.out.println(MD5Util.MD5("加密"));

    }

}

java 怎样实现 64位的md5加密算法

直接引入“commons-codec-1.10.jar”这个java包,然后调用相应方法即可

比如我们可以写一个方法类,把常用的方法都写进去:

public class EncryptionUtil {

/**

 * Base64 encode

 * */

public static String base64Encode(String data){

return Base64.encodeBase64String(data.getBytes());

}

/**

 * Base64 decode

 * @throws UnsupportedEncodingException 

 * */

public static String base64Decode(String data) throws UnsupportedEncodingException{

return new String(Base64.decodeBase64(data.getBytes()),"utf-8");

}

/**

 * md5

 * */

public static String md5Hex(String data){

return DigestUtils.md5Hex(data);

}

/**

 * sha1

 * */

public static String sha1Hex(String data){

return DigestUtils.sha1Hex(data);

}

/**

 * sha256

 * */

public static String sha256Hex(String data){

return DigestUtils.sha256Hex(data);

}

}

(PS:纯手打,望采纳)

关于md5算法java和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。