對稱加密 des desede aes

2021-07-26 06:02:24 字數 2172 閱讀 2874

des 使用乙個 56 位的

金鑰以及附加的 8 位

奇偶校驗位,產生最大 64 位的分組大小。這是乙個

迭代的分組密碼,使用稱為 feistel 的技術,其中將加密的文字塊分成兩半。使用子金鑰對其中一半應用迴圈功能,然後將輸出與另一半進行「

異或」運算;接著交換這兩半,這一過程會繼續下去,但最後乙個迴圈不交換。des 使用 16 個迴圈,使用異或,置換,代換,移位操作四種基本運算。

/**

* 使用des演算法完成對稱加密

** @param

content

加密字串

* @param

key    

金鑰* @param

type   

加密還是解密

* @return

*/public static

string

des(

string

content

, string

key,

int

type

) throws

unsupportedencodingexception

, nosuchpaddingexception

, nosuchalgorithmexception

else if

(type

==decode)}

catch

(invalidkeyexception e)

catch

(badpaddingexception e)

catch

(illegalblocksizeexception e)

return null

;}

desede加密寫法一樣 

只是  獲取金鑰方式 

string 

charset

="utf-8"

;try

{byte

keybytes

=key.getbytes

(charset);

byte

temp

=new byte[24

];system.arraycopy

(keybytes, 0

, temp, 0

, math.min

(temp.length

, keybytes.length));

//獲取金鑰物件

key

keyspec

=new

secretkeyspec

(temp

, "desede");

//獲取密碼生成器

cipher

cipher

=cipher.getinstance

("desede"

);

aes

string 

charset

="utf-8"

;try

{byte

keybytes

=key.getbytes

(charset);

byte

temp

=new byte[32

];system.arraycopy

(keybytes, 0

, temp, 0

, math.min

(temp.length

, keybytes.length));

//獲取金鑰物件

key

keyspec

=new

secretkeyspec

(temp

, "aes");

//獲取密碼生成器

cipher

cipher

=cipher.getinstance

("aes"

);

對稱加密 非對稱加密

區別在於加密金鑰和解密金鑰是否一樣,一樣則是對稱加密,不一樣則是非對稱加密。對稱加密計算量小,但若不同的客戶端使用不能的金鑰時,伺服器的複雜大。常用的對稱加密包括 des 3des aes des 3des使用的架構為feistel。des金鑰長度為56位,3des相容des,可設定3個56位密碼,...

對稱加密 非對稱加密

1 對稱加密 對稱加密採用了對稱密碼編碼技術,它的特點是檔案加密和解密使用相同的金鑰,即加密金鑰也可以用作解密金鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,金鑰較短,且破譯困難,除了資料加密標準 des 另乙個對稱金鑰加密系統是國際資料加密演算法 idea 它比des的...

對稱加密 非對稱加密

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