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"));

}

}

结果:

sha256、512、md5加密结果截图

java 512加密_java实现SHA256、SHA512、MD5加密相关推荐

  1. java ldap添加用户名密码_java ldap用户密码md5加密

    在这里不过多介绍ldap,因为这样的文章特别多,这里就简单直接的记录这一个问题. 在springboot中通过引入spring-boot-starter-data-ldap,使用LdapTemplat ...

  2. java md5加密 jar包_练习MD5加密jar包编写

    简介 参数签名可以保证开发的者的信息被冒用后,信息不会被泄露和受损.原因在于接入者和提供者都会对每一次的接口访问进行签名和验证. 签名sign的方式是目前比较常用的方式. 第1步:接入者把需求访问的接 ...

  3. java md密码加密_JavaSE_对密码进行MD5加密

    package me.falcon.utils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmExc ...

  4. java实现php md5加密解密,java_Java后端实现MD5加密的方法,前言 在我们开发是要考虑这 - phpStudy...

    Java后端实现MD5加密的方法 前言 在我们开发是要考虑这个功能,当用户忘记密码的情况下,我们需要动态的发给他一个6位的随机密码,通过即时通,短信,微信等.并同时修改数据库中的原密码为这6位的随机密 ...

  5. android md5加密登录,Android开发之MD5加密

    将字符串进行MD5加密,返回加密后的字符串 public static String encode(String password) { try { StringBuffer sb = new Str ...

  6. android apk md5加密工具,Android实现简单MD5加密的方法

    本文实例讲述了Android实现简单MD5加密的方法.分享给大家供大家参考,具体如下: 网上关于android下MD5加密的资料很多,但是测试了下总是跟网站的md5加密不一样, 后来才知道是编码方式不 ...

  7. android php md5加密解密,Android中的md5加密怎么与php md5加密保持一致

    Android中的md5加密怎么与php md5加密保持一致 发布时间:2020-12-05 15:27:37 来源:亿速云 阅读:72 作者:Leah 这期内容当中小编将会给大家带来有关Androi ...

  8. c语言字符串md5加密解密,.net core使用MD5加密解密字符串

    本文实例为大家分享了.net core使用MD5加密解密字符串的具体代码,供大家参考,具体内容如下 /// /// 加密 /// /// 要加密的文本 /// 秘钥 /// public static ...

  9. python md5加密和加盐_python的md5加密与加盐

    #md5加密是不可反解的 import hashlib #实例化对象 obj=hashlib.md5() #先创建一个md5的对象 #写入要加密的字节 obj.update("admin&q ...

最新文章

  1. was unable to refresh its cache! status = Cannot execute request on any known server
  2. docker mysql 报错 “Too many connections 1040“ 修改最大连接数 未生效 解决方法
  3. bfs+状态压缩dp
  4. PRML-github code使用两个小攻略
  5. Golang 中的指数符号 e
  6. boost::format模块一些真实的、简单的测试
  7. VTK:Utilities之Box
  8. delete 和 delete [] 的真正区别
  9. java iterable_太糟糕了,Java 8没有Iterable.stream()
  10. 微助教课件怎么下载_【微助教课件下载】[微助教]自测一下,您的课堂有好的开始和结束么?...
  11. python文字识别 训练_Python3.x:pytesseract识别率提高(样本训练)
  12. TypeScript内置对象
  13. AcWing 829. 模拟队列
  14. Ubuntu18.04设置简单密码
  15. tpc-ds99 工具使用
  16. 超实用的!南京南站最新停车指南来了
  17. 生信学习笔记:利用GATK call SNP
  18. 强化学习读书笔记(一)
  19. 开氏温度与摄氏度换算_【知识分享】柴油密度与温度的关系
  20. 去中心化市场OpenBazaar如何运转

热门文章

  1. 如何在另一个城市找到工作
  2. Tkinter 实现弹出子窗口并冻结主窗口
  3. 安装Ubuntu时发现卡在一个地方点不动解决方法
  4. 【优化选址】基于粒子群算法实现无线传感器网络覆盖优化附matlab代码
  5. 【系统分析师之路】2011年上系统分析师下午论文真题
  6. ACL20 - Zero-shot Text Classification via Reinforced Self-training
  7. Camunda - 消息中间捕获事件
  8. 阿里云服务器配置SSL证书成功开启Https(记录趟过的各种坑)
  9. 服务器测试之系统下更新固件汇总
  10. 虚方法调用在Java虚拟机中的实现方式?