對稱加解密演算法:
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 金鑰也是演算法的輸入。演算法進行...