91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java加密 消息摘要算法SHA實現詳解

發布時間:2020-09-12 22:05:20 來源:腳本之家 閱讀:182 作者:小破孩123 欄目:編程語言

SHA是消息摘要算法的一種實現方式,前面已經總結過MD2\4\5的實現,接下來就為大家總結一下SHA的實現。

SHA的jdk實現:

private static void SHA_JDK(){
    try {
      MessageDigest digest = MessageDigest.getInstance("SHA");//我們可以通過SHA\SHA-1\SHA-384\SHA-256\SHA-512來獲得不同的消息摘要密鑰
      digest.update(src.getBytes());
      System.out.println("SHA :"+Hex.encodeHexString(digest.digest()));
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    }
  }

SHA的BC實現:

private static void SHA_BC(){
    Digest digest = new SHA1Digest();
    digest.update(src.getBytes(), 0, src.getBytes().length);
    byte[] shaByte = new byte[digest.getDigestSize()];
    digest.doFinal(shaByte, 0);
    System.out.println("shaByte : "+Hex.encodeHexString(shaByte));
  }

對于SHA224,JAVA jdk并沒有提供實現,下面是利用BC實現的方法:

private static void SHA224_BC(){
    Digest digest = new SHA224Digest();
    digest.update(src.getBytes(), 0, src.getBytes().length);
    byte[] sha224Byte = new byte[digest.getDigestSize()];
    digest.doFinal(sha224Byte, 0);
    System.out.println("sha224Byte : "+Hex.encodeHexString(sha224Byte));
  }

對于SHA224還有一種類似JDK的實現方法:

private static void SHA224_BC_JDK(){
    Security.addProvider(new BouncyCastleProvider());
    try {
      MessageDigest digest = MessageDigest.getInstance("SHA-224");
      digest.update(src.getBytes());
      System.out.println("SHA224_BC_JDK :"+Hex.encodeHexString(digest.digest()));
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    }
  }

最后簡單介紹一下CC的SHA實現:

private static void SHA_CC_Byte(){
    System.out.println("SHA_CC_Byte_SHA1 : "+DigestUtils.sha1Hex(src.getBytes()));
    System.out.println("SHA_CC_Byte_SHA256 : "+DigestUtils.sha256Hex(src.getBytes()));
    System.out.println("SHA_CC_Byte_SHA384 : "+DigestUtils.sha384Hex(src.getBytes()));
    System.out.println("SHA_CC_Byte_SHA512 : "+DigestUtils.sha512Hex(src.getBytes()));
  }
   
  private static void SHA_CC(){
    System.out.println("SHA_CC_SHA1 : "+DigestUtils.sha1Hex(src));
    System.out.println("SHA_CC_SHA256 : "+DigestUtils.sha256Hex(src));
    System.out.println("SHA_CC_SHA384 : "+DigestUtils.sha384Hex(src));
    System.out.println("SHA_CC_SHA512 : "+DigestUtils.sha512Hex(src));
  }

到這里SHA的實現總結完畢。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

寿宁县| 宜宾县| 长顺县| 横峰县| 九寨沟县| 久治县| 桑日县| 河北省| 文化| 美姑县| 饶平县| 汤原县| 岫岩| 台前县| 新晃| 崇阳县| 康乐县| 嘉禾县| 内丘县| 鹤壁市| 通道| 遵化市| 泌阳县| 吉木乃县| 铜鼓县| 田阳县| 永川市| 阳春市| 新田县| 平舆县| 泗洪县| 诸暨市| 甘孜| 邛崃市| 兴文县| 莱芜市| 神农架林区| 讷河市| 城市| 青岛市| 榆社县|