日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 实现sha_Java实现SHA算法的方法详解

發布時間:2023/12/15 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 实现sha_Java实现SHA算法的方法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

一 簡介

安全散列算法

固定長度摘要信息

二 SHA算法

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

三 SHA算法實現

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。。。。。。

}

四 運行結果

jdk sha-1 : ba28a0f5f08efc8afaee4706ffd496e1f88befdb

bc sha-1 : ba28a0f5f08efc8afaee4706ffd496e1f88befdb

bc sha-224 : ae3b58439cd53d28455781fe6dc20c83a45d63e1d9550330c7911f58

cc sha1 - 1 :ba28a0f5f08efc8afaee4706ffd496e1f88befdb

cc sha1 - 2 :ba28a0f5f08efc8afaee4706ffd496e1f88befdb

五 SHA算法應用

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

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

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

總結

以上是生活随笔為你收集整理的Java 实现sha_Java实现SHA算法的方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。