比如有一组21位的byte数组,把它分成3块,不够的8个byte的补0x00,对3块进行des加密如图:
把加密后的三块data,组成一块完整的数据就是ecb加密后的数据。
java代码实现:
public static byte[] des3EncodeECB(byte[] key, byte[] data)
throws Exception {
SecretKey deskey = new SecretKeySpec(key, "desede");
Cipher cipher = Cipher.getInstance("DESede/ECB/NOPADDING");
cipher.init(Cipher.ENCRYPT_MODE, deskey);
byte[] bOut = cipher.doFinal(data);
return bOut;
}
public static byte[] des3DecodeECB(byte[] key, byte[] data)
throws Exception {
SecretKey deskey = new SecretKeySpec(key, "DESede");
Cipher cipher = Cipher.getInstance("DESede/ECB/NOPADDING");
cipher.init(Cipher.DECRYPT_MODE, deskey);
return cipher.doFinal(data);
}