各種Java加密演算法2

2021-07-30 09:19:34 字數 1162 閱讀 8074

base64的加密解密是雙向的,可以求反解。 

md5、sha以及hmac是單向加密,任何資料加密後只會產生唯一的乙個加密串,通常用來校驗資料在傳輸過程中是否被修改。其中hmac演算法有乙個金鑰,增強了資料傳輸過程中的安全性,強化了演算法外的不可控因素。 

單向加密的用途主要是為了校驗資料在傳輸過程中是否被修改。

desdes-data encryption standard,即資料加密演算法。是ibm公司於2023年研究成功並公開發表的。des演算法的入口引數有三個:key、data、mode。其中 key為8個位元組共64位,是des演算法的工作金鑰;data也為8個位元組64位,是要被加密或被解密的資料;mode為des的工作方式,有兩種:加密 或解密。 

des演算法把64位的明文輸入塊變為64位的密文輸出塊,它所使用的金鑰也是64位。 

rsa這種演算法2023年就出現了,它是第乙個既能用於資料加密也能用於數字簽名的演算法。它易於理解和操作,也很流行。演算法的名字以發明者的名字命名:ron rivest, adishamir 和leonard adleman。 

這種加密演算法的特點主要是金鑰的變化,上文我們看到des只有乙個金鑰。相當於只有一把鑰匙,如果這把鑰匙丟了,資料也就不安全了。rsa同時有兩把鑰 匙,公鑰與私鑰。同時支援數字簽名。數字簽名的意義在於,對傳輸過來的資料進行校驗。確保資料在傳輸工程中不被修改。

流程分析:

甲方構建金鑰對兒,將公鑰公布給乙方,將私鑰保留。

甲方使用私鑰加密資料,然後用私鑰對加密後的資料簽名,傳送給乙方簽名以及加密後的資料;乙方使用公鑰、簽名來驗證待解密資料是否有效,如果有效使用公鑰對資料解密。

乙方使用公鑰加密資料,向甲方傳送經過加密後的資料;甲方獲得加密資料,通過私鑰解密。

簡要總結一下,使用公鑰加密、私鑰解密,完成了乙方到甲方的一次資料傳遞,通過私鑰加密、公鑰解密,同時通過私鑰簽名、公鑰驗證簽名,完成了一次甲方到乙方的資料傳遞與驗證,兩次資料傳遞完成一整套的資料互動! 

數字信封

數字信封用加密技術來保證只有特定的收信人才能閱讀信的內容。 

流程: 

資訊傳送方採用對稱金鑰來加密資訊,然後再用接收方的公鑰來加密此對稱金鑰(這部分稱為數字信封),再將它和資訊一起傳送給接收方;接收方先用相應的私鑰開啟數字信封,得到對稱金鑰,然後使用對稱金鑰再解開資訊。

接下來我們分析dh加密演算法,一種適基於金鑰一致協議的加密演算法。 dh

各種加密演算法C

待加密的字串 加密金鑰,要求為8位 加密成功返回加密後的字串,失敗返回源串 public static string encryptdes string encryptstring,string encryptkey catch des解密字串 待解密的字串 解密金鑰,要求為8位,和加密金鑰相同 解...

各種加密演算法比較

演算法選擇 對稱加密 aes,非對稱加密 ecc,訊息摘要 md5,數字簽名 dsa 對稱加密演算法 加解密金鑰相同 名稱 金鑰長度 運算速度 安全性資源消耗 des56位較快低中 3des 112位或168位慢中 高aes 128 192 256位快高 低非對稱演算法 加密金鑰和解密金鑰不同 名稱...

各種加密演算法比較

演算法選擇 對稱加密aes,非對稱加密 ecc,訊息摘要 md5,數字簽名 dsa 對稱加密演算法 加解密金鑰相同 名稱 金鑰長度 運算速度 安全性 資源消耗 des 56位 較快 低 中 3des 112位或168位 慢 中 高 aes 128 192 256位 快 高 低 非對稱演算法 加密金鑰...