一个关于DES的问题

在DES中,我们知道当输入是64位(8个字节byte)时,输出应该是64位(8bytes),当输入9个字节时,输出应该是16个字节,依此类推,即DES是以8个字节为一组的,DES是分组加密算法。

但当用java来实现时,却发现当输入是7个字节时,输出是8个字节,输入是8个字节时,输出已经是16个字节了,即在java中是以7个字节为一组位的,为什么呢??
代码如下:
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
public class Des{

public static void main(String args[]){
byte Key[]="450gJXuu".getBytes(); //密钥
try{
DESKeySpec DesKey=new DESKeySpec(Key);
SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");
SecretKey sk = skf.generateSecret(DesKey);
Cipher cip = Cipher.getInstance("DES");
cip.init(Cipher.ENCRYPT_MODE,sk);
byte dd[]=new byte[8];

for(int i=0;i<8;i++)
dd[i]=(byte)i;

byte cipherText[]=cip.doFinal(dd);
System.out.println(cipherText.length);
}catch(Exception e){}
}
}
输出结果是16,而不是8,为什么呀??如何修改??请教了......
[937 byte] By [pierance] at [2008-1-9]
# 1
upup!!
pierance at 2007-10-19 > top of Msdn China Tech,Java,J2SE,基础类...
# 2
up
pierance at 2007-10-19 > top of Msdn China Tech,Java,J2SE,基础类...