在開發的過程中,為了能夠保證程式能夠安全高效執行,資料資訊不被洩露,我們通常都會對要操作的資料就行加解密,從而提高程式的安全性。比如常見的客戶端和後台伺服器的資料互動傳輸,我們通常都會對伺服器返回的資料進行解密,伺服器返回給使用者的資料進行加密,客戶端提交的資料也會加密之後提交給後台伺服器,後台伺服器會按照對應的規則進行解密或者加密的傳輸,尤其是做金融專案的,資料介面的操作,更需要進行加密互動。具體的實現方式更具使用的方式不同,總結一下可以安全實現加解密的方式如下三種
1.jdk 方式
2.commons codec 方式
3.bouncy castle 方式
這三種方式不具體到來了,具體的可以自己上度娘。
按照演算法的分類,又可以分為以下的幾種方式,而每一種方式都又多種加密方式,同時,有的演算法又有幾種實現方式。
大概有如下幾類演算法:
一。非對稱加密演算法:
演算法的型別: 1.dh 2.rsa 3.elgamal
二。base64
實現方式: 1.jdk實現 2.common codes實現 3.bouncy castle實現
三。訊息摘要演算法
演算法的型別:1.md5 2.sha 3.mac
四。數字簽名:jdk實現方式
1.rsa 2.dsa 3.ecdsa
五。對稱加密演算法:
1.3des 2.aes 3.pbe 4:des
好了,學到這裡,我們對演算法的類別和實現方式都有了很清楚的認識,在接下來的幾篇裡,我會對這五類演算法給出詳細的**,具體的概念性東西,說的再多,不如大家自己動手去理解。
梳理開發中常用的加密演算法
在資料傳輸的過程中,首先把密碼類資料經過md5加密演算法加密,然後再在外面使用可逆的加密方式加密一次,這樣在資料傳輸的過程中,即便資料被截獲了,但是想要完全破解,還是很難的。hash演算法特別的地方在於它是一種單向演算法,使用者可以通過hash演算法對目標資訊生成一段特定長度的唯一的hash值,卻不...
WEB應用中常用的加密演算法
如果需要進一步編碼為可顯示字串,則需進行base64編碼或者十六進製制編碼。編碼後的資料長度會進一步增加 base64是增長為4 3倍起的最小的4的倍數,十六進製制編碼是增長為2倍 比如,對原文長度在32 47個位元組之間的明文,經過aes256jncryptor加密後的密文長度就是114個位元組,...
C 中常用的加密演算法的封裝
des加密是對稱加密演算法,對稱加密演算法的優點是速度快,缺點是金鑰管理不方便,要求共享金鑰 public class desencrypt des加密 需要加密的值 加密後的結果 public string encrypt string text des解密 需要解密的值 解密後的結果 publi...