บทความนี้อธิบายวิธีการใช้อัลกอริทึม SHA ใน Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
บทนำสั้น ๆ
อัลกอริทึมการแฮชที่ปลอดภัย
ข้อมูลสรุปความยาวคงที่
อัลกอริทึม SHA สองตัว
Sha-1, Sha-2 (Sha-224, Sha-256, Sha384, Sha-512)
การใช้งานอัลกอริทึม SHA สามครั้ง
แพ็คเกจ com.imooc.security.sha; นำเข้า java.security.messagedigest; นำเข้า Java.security.nosuchalgorithmexception; นำเข้า Java.security.Security; นำเข้า org.apache.Commons.Codec.Binary.Hex; org.bouncycastle.crypto.digest; นำเข้า org.bouncycastle.crypto.digests.sha1digest; นำเข้า org.bouncascastle.crypto.digests.sha224digest; SRC = "CAKIN24 Security SHA"; โมฆะคงที่สาธารณะหลัก (สตริง [] args) {jdksha1 (); bcsha1 (); BCSHA224 (); CCSHA1 (); } โมฆะคงที่สาธารณะ jdksha1 () {ลอง {messageGeSest md = messageDigest.getInstance ("sha"); md.update (src.getBytes ()); System.out.println ("JDK Sha-1:" + hex.encodehexstring (md.digest ())); } catch (nosuchalgorithmexception e) {e.printstacktrace (); }} โมฆะคงที่สาธารณะ bcsha1 () {digest digest = ใหม่ sha1digest (); digest.update (src.getBytes (), 0, src.getBytes (). ความยาว); ไบต์ [] sha1bytes = byte ใหม่ [digest.getDigestSize ()]; digest.dofinal (sha1bytes, 0); System.out.println ("bc sha-1:" + org.bouncycastle.util.encoders.hex.tohexstring (sha1bytes)); } โมฆะคงที่สาธารณะ bcsha224 () {digest digest = ใหม่ sha224digest (); digest.update (src.getBytes (), 0, src.getBytes (). ความยาว); ไบต์ [] sha224bytes = byte ใหม่ [digest.getDigestSize ()]; digest.dofinal (sha224bytes, 0); System.out.println ("BC SHA-224:" + org.bouncycastle.util.encoders.hex.tohexstring (sha224bytes)); } โมฆะคงที่สาธารณะ 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: BA28A0F5F08EFC8AFAEEE4706FFD496E1F88BEFDB
BC SHA-224: AE3B58439CD53D28455781FE6DC20C83A45D63E1D9550330C7911F58
CC SHA1 - 1: BA28A0F5F08EFC8AFAEEE4706FFD496E1F88BEFDB
CC SHA1 - 2: BA28A0F5F08EFC8AFAEEE4706FFD496E1F88BEFDB
แอปพลิเคชั่นอัลกอริทึม SHA ห้าตัว
PS: เพื่อนที่สนใจในการเข้ารหัสและถอดรหัสสามารถอ้างถึงเครื่องมือออนไลน์ของเว็บไซต์นี้:
เครื่องมือเข้ารหัส 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
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน