В этой статье описывается метод реализации алгоритма SHA в Java. Поделитесь этим для вашей ссылки, следующим образом:
Краткое введение
Безопасный алгоритм хеширования
Информация о сводной длине с фиксированной длиной
Два алгоритма SHA
Ша-1, Ша-2 (SHA-224, SHA-256, SHA384, SHA-512)
Три реализации алгоритма SHA
пакет com.imooc.security.sha; import java.security.messagedigest; импорт java.security.nosuchalgorithmexception; import java.security.security; импорт org.apache.commons.codec.binary.hex; импорт org.apache.commons.codec.digest.digestiltils; org.bouncycastle.crypto.digest; import org.bouncycastle.crypto.digests.sha1digest; import org.bouncycastle.crypto.digests.sha224digest; import org.bouncycastle.jce.provider.bouncycastlepresder; 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: друзья, которые заинтересованы в шифровании и дешифровании, также могут относиться к онлайн -инструментам этого сайта:
Онлайн инструмент шифрования 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, эксплуатирующие навыки DOM Node» и «Сводка операционных навыков Java Array» ».
Я надеюсь, что эта статья будет полезна для всех Java Programming.