最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)SHA算法的方法詳解

 更新時間:2018年03月30日 14:44:40   作者:chengqiuming  
這篇文章主要介紹了Java實現(xiàn)SHA算法的方法,結(jié)合實例形式較為詳細(xì)的分析了Java實現(xiàn)sha算法的原理、實現(xiàn)與使用相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Java實現(xiàn)SHA算法的方法。分享給大家供大家參考,具體如下:

一 簡介

安全散列算法

固定長度摘要信息

二 SHA算法

SHA-1、SHA-2(SHA-224、SHA-256、SHA384、SHA-512)

三 SHA算法實現(xiàn)

package com.imooc.security.sha;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
import org.bouncycastle.crypto.Digest;
import org.bouncycastle.crypto.digests.SHA1Digest;
import org.bouncycastle.crypto.digests.SHA224Digest;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
public class ImoocSHA {
  private static String src = "cakin24 security sha";
  public static void main(String[] args) {
     jdkSHA1();
     bcSHA1();
     bcSHA224();
     ccSHA1();
  }
  public static void jdkSHA1() {
    try {
      MessageDigest md = MessageDigest.getInstance("SHA");
      md.update(src.getBytes());
      System.out.println("jdk sha-1 : " + Hex.encodeHexString(md.digest()));
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    }
  }
  public static void bcSHA1() {
    Digest digest = new SHA1Digest();
    digest.update(src.getBytes(), 0, src.getBytes().length);
    byte[] sha1Bytes = new byte[digest.getDigestSize()];
    digest.doFinal(sha1Bytes, 0);
    System.out.println("bc sha-1 : " + org.bouncycastle.util.encoders.Hex.toHexString(sha1Bytes));
  }
  public static void bcSHA224() {
    Digest digest = new SHA224Digest();
    digest.update(src.getBytes(), 0, src.getBytes().length);
    byte[] sha224Bytes = new byte[digest.getDigestSize()];
    digest.doFinal(sha224Bytes, 0);
    System.out.println("bc sha-224 : " + org.bouncycastle.util.encoders.Hex.toHexString(sha224Bytes));
  }
  public static void ccSHA1() {
    System.out.println("cc sha1 - 1 :" + DigestUtils.sha1Hex(src.getBytes()));
    System.out.println("cc sha1 - 2 :" + DigestUtils.sha1Hex(src));
  }
  //384、256、512。。。。。。
}

四 運行結(jié)果

jdk sha-1 : ba28a0f5f08efc8afaee4706ffd496e1f88befdb
bc sha-1 : ba28a0f5f08efc8afaee4706ffd496e1f88befdb
bc sha-224 : ae3b58439cd53d28455781fe6dc20c83a45d63e1d9550330c7911f58
cc sha1 - 1 :ba28a0f5f08efc8afaee4706ffd496e1f88befdb
cc sha1 - 2 :ba28a0f5f08efc8afaee4706ffd496e1f88befdb

五 SHA算法應(yīng)用

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:

在線SHA1加密工具:
http://tools.jb51.net/password/sha1encode

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)學(xué)運算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java字符與字符串操作技巧總結(jié)》、《Java操作DOM節(jié)點技巧總結(jié)》和《Java數(shù)組操作技巧總結(jié)

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

最新評論

新建县| 全南县| 板桥市| 古丈县| 吉木乃县| 盘山县| 进贤县| 富裕县| 涪陵区| 德昌县| 玉门市| 资源县| 怀仁县| 宽甸| 博兴县| 上思县| 英吉沙县| 休宁县| 五华县| 岳普湖县| 获嘉县| 鸡泽县| 老河口市| 拉孜县| 定安县| 肇庆市| 临邑县| 衡山县| 黄平县| 应用必备| 晋江市| 察隅县| 平果县| 长沙县| 鹤岗市| 鲁甸县| 公主岭市| 桦川县| 康保县| 陆河县| 大埔区|