溫馨提示×

溫馨提示×

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

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

Java常用的幾種加密算法是什么

發布時間:2022-01-06 20:49:13 來源:億速云 閱讀:233 作者:iii 欄目:數據安全

本篇內容介紹了“Java常用的幾種加密算法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

簡單的java加密算法有:

  • BASE 嚴格地說,屬于編碼格式,而非加密算法

  • MD(Message Digest algorithm ,信息摘要算法)

  • SHA(安全散列算法)

  • HMAC(Hash Message Authentication Code,散列消息鑒別碼)

1. BASE

Base是網絡上最常見的用于傳輸Bit字節代碼的編碼方式之一,大家可以查看RFC~RFC,上面有MIME的詳細規范。Base編碼可用于在HTTP環境下傳遞較長的標識信息。例如,在Java  Persistence系統Hibernate中,就采用了Base來將一個較長的標識符(一般為-bit的UUID)編碼為一個字符串,用作HTTP表單和HTTP  GET  URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,采用Base編碼具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。(來源百度百科)

java實現代碼:

Java常用的幾種加密算法是什么

Java常用的幾種加密算法是什么

2. MD

MD即Message-Digest Algorithm  (信息-摘要算法),用于確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語言普遍已有MD實現。將數據(如漢字)運算為另一固定長度值,是雜湊算法的基礎原理,MD的前身有MD、MD和MD。廣泛用于加密和解密技術,常用于文件校驗。校驗?不管文件多大,經過MD后都能生成MD值。好比現在的ISO校驗,都是MD校驗。怎么用?當然是把ISO經過MD后產生MD的值。一般下載linux-ISO的朋友都見過下載鏈接旁邊放著MD的串。就是用來驗證文件是否一致的。

java實現:

Java常用的幾種加密算法是什么

Java常用的幾種加密算法是什么

MD算法具有以下特點:

  • 壓縮性:任意長度的數據,算出的MD值長度都是固定的。

  • 容易計算:從原數據計算出MD值很容易。

  • 抗修改性:對原數據進行任何改動,哪怕只修改個字節,所得到的MD值都有很大區別。

  • 弱抗碰撞:已知原數據和其MD值,想找到一個具有相同MD值的數據(即偽造數據)是非常困難的。

  • 強抗碰撞:想找到兩個不同的數據,使它們具有相同的MD值,是非常困難的。

MD的作用是讓大容量信息在用數字簽名軟件簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的字節串變換成一定長的十六進制數字串)。除了MD以外,其中比較有名的還有sha-、RIPEMD以及Haval等。

第三種.SHA

安全哈希算法主要適用于數字簽名標準(Digital Signature Standard  DSS)里面定義的數字簽名算法(Digital Signature Algorithm  DSA)。對于長度小于^位的消息,SHA會產生一個位的消息摘要。該算法經過加密專家多年來的發展和改進已日益完善,并被廣泛使用。該算法的思想是接收一段明文,然后以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),并把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。散列函數值可以說是對明文的一種“指紋”或是“摘要”所以對散列值的數字簽名就可以視為對此明文的數字簽名。

java實現:

Java常用的幾種加密算法是什么

SHA-與MD的比較:

因為二者均由MD導出,SHA-和MD彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同:

  • 顯著區別是SHA-摘要比MD摘要長  位。使用強行技術,產生任何一個報文使其摘要等于給定報摘要的難度對MD是^數量級的操作,而對SHA-則是^數量級的操作。這樣,SHA-有更大的強度。

  • 對密碼分析的安全性:由于MD的設計,易受密碼分析的攻威脅,SHA-顯得不易受這樣的威脅。

  • 速度:在相同的硬件上,SHA-的運行速度比MD慢。

第四種.HMAC

HMAC(Hash Message Authentication  Code,散列消息鑒別碼,基于密鑰的Hash算法的認證協議。消息鑒別碼實現鑒別的原理是,用公開函數和密鑰產生一個固定長度的值作為認證標識,用這個標識鑒別消息的完整性。使用一個密鑰生成一個固定大小的小數據塊,即MAC,并將其加入到消息中,然后傳輸。接收方利用與發送方共享的密鑰進行鑒別認證等。

java實現代碼:

Java常用的幾種加密算法是什么

“Java常用的幾種加密算法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女