تصف هذه المقالة طريقة تنفيذ خوارزمية SHA في Java. شاركه للرجوع إليه ، على النحو التالي:
مقدمة موجزة
خوارزمية تجزئة آمنة
معلومات ملخص الطول الثابت
خوارزمية شا
SHA-1 ، SHA-2 (SHA-224 ، SHA-256 ، SHA384 ، SHA-512)
ثلاثة تطبيق خوارزمية شا
package com.imooc.security.sha ؛ import java.security.messagedigest ؛ import java.security.nosuchalgorithmexception ؛ import java.security.security org.bouncycastle.crypto.digest ؛ استيراد org.bouncycastle.crypto.digests.sha1digest ؛ استيراد org.bouncycastle.crypto.digests.sha224digest ؛ استيراد org.bouncycastle.jce.provider.bourovider ؛ "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 (). الطول) ؛ 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 (). الطول) ؛ 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
تطبيق خمسة خوارزمية شا
ملاحظة: يمكن للأصدقاء المهتمين بالتشفير وفك التشفير أيضًا أن يشير إلى الأدوات عبر الإنترنت لهذا الموقع:
أداة تشفير 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" ، و "تعليمي حول هياكل بيانات Java وخوارزميات" ، و "ملخص لمهارات Java ومهارات تشغيل السلسلة" ، "ملخص لمهارات عقدة Java DOM" و "ملخص مهارات تشغيل Java Array"
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.