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加密寫法一樣
只是 獲取金鑰方式
stringcharset
="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
stringcharset
="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位快高 低非對稱演算法 加密金鑰和解密金鑰不同 名稱成熟...