java 512加密_java实现SHA256、SHA512、MD5加密

java.security.MessageDigest这个类里集成了sha256,sha512和md5的加密方法,jdk原生支持这三个加密方式,一下方便了好多,代码如下:

package com.ly.mp.oneappLogin.common;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

public class SHAUtil {

/**

* 传入文本内容,返回 SHA-256 串

*

* @param strText

* @return

*/

public String SHA256(final String strText) {

return SHA(strText, "SHA-256");

}

/**

* 传入文本内容,返回 SHA-512 串

*

* @param strText

* @return

*/

public String SHA512(final String strText) {

return SHA(strText, "SHA-512");

}

/**

* md5加密

* @param strText

* @return

*/

public String SHAMD5(String strText) {

return SHA(strText, "MD5");

}

/**

* 字符串 SHA 加密

*

* @param strSourceText

* @return

*/

private String SHA(final String strText, final String strType) {

// 返回值

String strResult = null;

// 是否是有效字符串

if (strText != null && strText.length() > 0) {

try {

// SHA 加密开始

// 创建加密对象 并傳入加密類型

MessageDigest messageDigest = MessageDigest.getInstance(strType);

// 传入要加密的字符串

messageDigest.update(strText.getBytes());

// 得到 byte 類型结果

byte byteBuffer[] = messageDigest.digest();

// 將 byte 轉換爲 string

StringBuffer strHexString = new StringBuffer();

// 遍歷 byte buffer

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

String hex = Integer.toHexString(0xff & byteBuffer[i]);

if (hex.length() == 1) {

strHexString.append('0');

}

strHexString.append(hex);

}

// 得到返回結果

strResult = strHexString.toString();

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

}

return strResult;

}

public static void main(String[] args) {

SHAUtil sha = new SHAUtil();

System.out.println("SHA256加密== " + sha.SHA256("123"));

System.out.println("SHA512加密== " + sha.SHA512("123"));

System.out.println("SHAMD5加密== " + sha.SHAMD5("123"));

}

}

结果:

ecb3b85adf6f

sha256、512、md5加密结果截图

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值