この記事では、JavaにShaアルゴリズムを実装する方法について説明します。次のように、参照のために共有してください。
簡単な紹介
安全なハッシュアルゴリズム
固定された長さの概要情報
2つのSHAアルゴリズム
SHA-1、SHA-2(SHA-224、SHA-256、SHA384、SHA-512)
3つのSHAアルゴリズムの実装
パッケージ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.comons.codec.codec.dimigest.dimigest bouncycastle.crypto.digest; import org.bouncycastle.crypto.digests.sha1digest; Import org.bouncycastle.crypto.digests.sha224digest;インポートorg.bouncycastle.jce src = "cakin24 security sha"; public static void main(string [] args){jdksha1(); bcsha1(); bcsha224(); ccsha1(); } public static void jdksha1(){try {mesagedigest md = mesagedigest.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。 。 。 。 。 }4つの実行結果
JDK SHA-1:BA28A0F5F08EFC8AFAEE4706FFD496E1F88BEFDB
BC SHA-1:BA28A0F5F08EFC8AFAEE4706FFD496E1F88BEFDB
BC SHA-224:AE3B58439CD53D28455781FE6DC20C83A45D63E1D9550330C7911F58
CC SHA1 -1:BA28A0F5F08EFC8AFAEE4706FFD496E1F88BEFDB
CC SHA1-2:BA28A0F5F08EFC8AFAEE4706FFD496E1F88BEFDB
5つのSHAアルゴリズムアプリケーション
PS:暗号化と復号化に興味がある友人は、このサイトのオンラインツールを参照することもできます。
オンラインSHA1暗号化ツール:
http://tools.vevb.com/password/sha1encode
テキストオンライン暗号化と復号化ツール(AE、DES、RC4などを含む):
http://tools.vevb.com/password/txt_encode
オンラインハッシュ/ハッシュアルゴリズム暗号化ツール:
http://tools.vevb.com/password/hash_encrypt
オンラインMD5/ハッシュ/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数学的操作スキルの概要」、「Javaデータ構造とアルゴリズムに関するチュートリアル」、「Javaキャラクターと文字列操作スキルの概要」、「Java Operating Dom Nodeスキルの要約」、「Java Array Operation Skills」の要約
この記事がみんなのJavaプログラミングに役立つことを願っています。