對稱加密 DES演算法

2021-09-29 19:51:19 字數 1779 閱讀 6537

對稱加解密演算法:

a.通訊雙方同時掌握乙個金鑰,加密解密都是由乙個金鑰完成的(即加密金鑰等於解密金鑰,加解密金鑰可以相互推倒出來)。

b.雙方通訊前共同擬定乙個金鑰,不對第三方公開。

c.不具有個體原子性,乙個金鑰被共享,洩漏機率增大

原理:該演算法是乙個利用56+8奇偶校驗位(第8,16,24,32,40,48,56,64)=64位的金鑰對以64位為單位的塊資料進行加解密。

public class desutil ";

system.out.println(encrypt(data));

system.out.println(decrypt(encrypt(data)));

}/**

* 使用 預設key 加密

** @return string

* @author wang

* @date 2019-3-17 下午02:46:43

*/public static string encrypt(string data) catch (exception e)

string strs = new base64encoder().encode(bt);

return strs;

}/**

* 使用 預設key 解密

** @return string

* @author wang

* @date 2019-3-17 下午02:49:52

*/public static string decrypt(string data) catch (exception e)

return result;

}/**

* description 根據鍵值進行加密

** @param data

* @param key 加密鍵byte陣列

* @return

* @throws exception

*/public static string encrypt(string data, string key) throws exception

/*** description 根據鍵值進行解密

** @param data

* @param key 加密鍵byte陣列

* @return

* @throws ioexception

* @throws exception

*/public static string decrypt(string data, string key) throws ioexception,

exception

/*** 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

}

Des對稱加密

1 package com.util 2import j a.io.ioexception 3import j a.security.securerandom 45 import j ax.crypto.cipher 6import j ax.crypto.secretkey 7import j a...

對稱加密之DES加密演算法

演算法說明 作為des資料加密標準的演算法實現,dea data encryption algorithm 是一種被廣泛應用的基於金鑰的經典對稱分組加密演算法,這些年來,對尋找和研究該演算法的弱點進行了非常多的嘗試,使得des是現存加密演算法中被研究得最為徹底的乙個。即使在當今由於計算硬體發展飛速,...

對稱加密演算法 DES加密演算法

一 對稱加密演算法 對稱加密也稱為常規加密 私鑰或單鑰加密。乙個對稱加密由5部分組成 明文 plaintext 這是原始資訊或資料,作為演算法的輸入。加密演算法 encryption algorithm 加密演算法對明文進行各種替換和轉換。金鑰 secret key 金鑰也是演算法的輸入。演算法進行...