关闭

JAVA 的 SHA-256 和 SHA-512 两种 Hash 算法的调用

31781人阅读 评论(2) 收藏 举报
分类:

JAVA 已经实现了 SHA-256 和 SHA-512 两种 Hash 算法

利用 java.security.MessageDigest 调用已经集成的 Hash 算法

创建 Encrypt 对象,并调用 SHA256 或者 SHA512 并传入要加密的文本信息,分别得到 SHA-256 或 SHA-512 两种被加密的 hash 串。

若要改为 MD5 算法,修改传入参数 strType 为 "MD5" 即可得到 MD5 加密功能。

package test;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Encrypt
{

  /**
   * 传入文本内容,返回 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");
  }

  /**
   * 字符串 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;
  }
}



Q群讨论:236201801

.



7
0
查看评论

Java实现SHA-256加密的两种方式

最近在做注册的一个功能,密码要进行加密,一开始想用MD5加密,但是听说被破解了已经,于是想玩玩SHA-256加密。学习了下,总结两种方法供后面参考
  • u012188107
  • u012188107
  • 2017-04-05 17:34
  • 14701

Java实现SHA-256签名加密

Java实现SHA-256签名加密
  • qq844579582
  • qq844579582
  • 2017-01-10 15:20
  • 2118

JAVA 的 SHA-256 和 SHA-512 两种 Hash 算法的调用

java, sha-256, sha-512, hash, 加密
  • joyous
  • joyous
  • 2015-11-18 02:31
  • 31781

Java SHA-256 算法实例

一)java.security.MessageDigest 类:   此 MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。 MessageDigest 对象开...
  • zhang_chuancun
  • zhang_chuancun
  • 2009-12-02 20:58
  • 44527

JAVA 的 SHA-256 和 SHA-512 两种 Hash 算法的调用

本文转自: http://blog.csdn.net/joyous/article/details/49898383# http://www.techug.com/post/a-blockchain-in-200-lines-of-code.html?1492430006412?ref=myre...
  • FadeFarAway
  • FadeFarAway
  • 2017-04-18 18:36
  • 1586

java 实现各种加密(MD5 ,SHA-1,SHA-256)

常用加密算法通用方法:package BinTest.bin;import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;public class jiami { public static vo...
  • qq_33113141
  • qq_33113141
  • 2016-07-08 10:12
  • 5490

JAVA实现的sha256加密算法

  • 2012-05-08 01:03
  • 14KB
  • 下载

SHA-256 java加密代码

  • 2016-08-24 17:39
  • 1KB
  • 下载

Java 加解密技术系列之 SHA

序 上一篇文章中介绍了基本的单向加密算法 — — MD5,也大致的说了说它实现的原理。这篇文章继续之前提到的单向加密,主要讲的是 SHA,同 MD5 一样,SHA 同样也是一个系列,它包括 SHA-1,SHA-224,SHA-256,SHA-384,和 SHA-512 等几种算法。其中,SHA-...
  • happylee6688
  • happylee6688
  • 2015-02-27 11:08
  • 28785

关于java散列算法(MD5 SHA-1 SHA-128 SHA-256..)的一点总结

java中提供了丰富的散列算法,在java.security包中,作用是什么就不多说了,今天简要介绍一下他们的用法 1、单纯的使用算法进行计算 public String getMD5(byte[] bytes){ String str=null; try { MessageDi...
  • Big_Boy_9
  • Big_Boy_9
  • 2014-12-26 23:49
  • 3487
    个人资料
    • 访问:1536670次
    • 积分:8886
    • 等级:
    • 排名:第2567名
    • 原创:124篇
    • 转载:88篇
    • 译文:0篇
    • 评论:56条
    文章分类
    最新评论