JAVA實現DES加密

2021-06-28 12:16:22 字數 1183 閱讀 9523

資料加密演算法(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...