資料加密演算法(data encryption algorithm,dea)是一種對稱加密演算法,很可能是使用最廣泛的金鑰系統,特別是在保護金融資料的安全中,最初開發的dea是嵌入硬體中的。
des 使用乙個 56 位的
金鑰以及附加的 8 位
奇偶校驗位
(每組的第8位作為奇偶校驗位),產生最大 64 位的分組大小。這是乙個迭代的分組密碼,使用稱為 feistel 的技術,其中將加密的文字塊分成兩半。使用子金鑰對其中一半應用迴圈功能,然後將輸出與另一半進行「
異或」運算;接著交換這兩半,這一過程會繼續下去,但最後乙個迴圈不交換。des 使用 16 輪迴圈,使用異或,
置換,代換,
移位操作四種基本運算。
private final static string des = "des";
/**
* description 根據鍵值進行加密
* @param data
* @param key 加密鍵byte陣列
* @return
* @throws exception
*/private static byte encrypt(byte data, byte key) throws exception
/*** description 根據鍵值進行解密
* @param data
* @param key 加密鍵byte陣列
* @return
* @throws exception
*/private static byte decrypt(byte data, byte key) throws exception
//test
string key = "!#aaaa"; string data="hello";
system.out.println(key.length());
byte data1 = encrypt(data.getbytes(), key.getbytes());
system.err.println();
system.err.println(new string(decrypt(data1, key.getbytes())));
java實現對稱加密AES和DES的加密 解密
目前主流的加密方式有 1 對稱加密 aes des 2 非對稱加密 rsa dsa。cipher cipher cipher.getinstance des cbc pkcs5padding cipher.init cipher.encrypt mode,key,zeroiv 其中,des是採用的演...
C 實現DES加密
1.定義金鑰變數key 2.定義子金鑰儲存變數subkey 3.將pc 1,pc 2,ip,ip 1,e盒和s盒,p,加密輪資料新建陣列變數儲存 4.定義chartobitset方法進行字串到二進位制數的轉換 5.定義exec函式對資料進行進行擴充套件置換,異或,查s盒置換,p置換的初始操作 6.定...
java實現DES演算法
public static void main string args catch transformerexception e system.out.println time system.nanotime start 1000 1000 public desdatatransformer str...