이 기사에서는 Java에서 SHA 알고리즘을 구현하는 방법에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
간단한 소개
보안 해싱 알고리즘
고정 길이 요약 정보
두 개의 SHA 알고리즘
SHA-1, SHA-2 (SHA-224, SHA-256, SHA384, SHA-512)
3 개의 SHA 알고리즘 구현
package com.imooc.security.sha; import java.security.messagegegest; import java.security.nosuchalgorithmexception; import java.security.security; import org.apache.commons.codec.binary.hex; import org.apache.commons.codec.digest.digeSTULS; org.bouncycastle.crypto.digest; import org.bouncycastle.crypto.digests.sha1digest; import org.bouncycastle.crypto.digests.sha224digest; import org.bouncycastle.jce.jce.jce.jce.jce.jce.jce.jce.jce.bouncastleprovider; public imoocsha {public static stroccascastleprovider; "Cakin24 보안 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); 바이트 [] 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 :" + digestutil.sha1Hex (SRC)); } // 384, 256, 512. . . . . }4 개의 실행 결과
JDK SHA-1 : BA28A0F5F08EFC8AFAEE4706FFD496E1F88BEFDB
BC SHA-1 : BA28A0F5F08EFC8AFAEE4706FFD496E1F88BEFDB
BC SHA-224 : AE3B58439CD53D2845781FE6DC20C83A45D63E1D9550330C7911F58
CC SHA1 -1 : BA28A0F5F08EFC8AFAEE4706FFD496E1F88BEFDB
CC SHA1 -2 : BA28A0F5F08EFC8AFAEE4706FFD496E1F88BEFDB
5 개의 SHA 알고리즘 응용 프로그램
추신 : 암호화 및 암호 해독에 관심이있는 친구들 도이 사이트의 온라인 도구를 참조 할 수도 있습니다.
온라인 SHA1 암호화 도구 :
http://tools.vevb.com/password/sha1encode
텍스트 온라인 암호화 및 암호 해독 도구 (AES, DES, RC4 등) :
http://tools.vevb.com/password/txt_encode
온라인 해시/해시 알고리즘 암호화 도구 :
http://tools.vevb.com/password/hash_encrypt
온라인 MD5/HASH/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 암호화 도구 :
http://tools.vevb.com/password/hash_md5_sha
온라인 SHA1/SHA224/SHA256/SHA384/SHA512 암호화 도구 :
http://tools.vevb.com/password/sha_encode
Java 관련 컨텐츠에 대한 자세한 내용은이 사이트의 주제를 확인하십시오 : "Java Mathematical Operation Skills의 요약", "Java 데이터 구조 및 알고리즘에 대한 튜토리얼", "Java 캐릭터 및 문자열 운영 기술 요약", "Java 운영 Dom Node Skills의 요약"및 "Java 어레이 운영 기술의 요약".
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.