des三重加密的问题?(在线等待)
一个解密的函数
一个加密的函数如下:
private byte[] encryptByDES(byte[] bytP,byte[] bytKey) throws Exception{
DESKeySpec desKS = new DESKeySpec(bytKey);
SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");
SecretKey sk = skf.generateSecret(desKS);
Cipher cip = Cipher.getInstance("DES");
cip.init(Cipher.ENCRYPT_MODE,sk);
return cip.doFinal(bytP);
}
我定义了一个buffer,bytIn[10240],对它里边的数据进行加密:
byte[] bytOut = encryptByDES(encryptByDES(encryptByDES(bytIn,bytK1),bytK2),bytK3);
为什么返回的数组 bytOut[] 比以前多了24个,他的长度是10264?
我是想从一个文件每读取一块儿就加密一块儿,然后再向另一个文件里写入一块儿,可是将每一块加密之后都多了24个字节,往加密后的文件写入的时候,是应该写入10264里的哪一部分?最后解密的时候还是用这个函数知识三个密钥的顺序得颠倒,这样做是否正确?
如果还有高招儿,请各位大虾指教
先谢谢给为大虾........
一个加密的函数如下:
private byte[] encryptByDES(byte[] bytP,byte[] bytKey) throws Exception{
DESKeySpec desKS = new DESKeySpec(bytKey);
SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");
SecretKey sk = skf.generateSecret(desKS);
Cipher cip = Cipher.getInstance("DES");
cip.init(Cipher.ENCRYPT_MODE,sk);
return cip.doFinal(bytP);
}
我定义了一个buffer,bytIn[10240],对它里边的数据进行加密:
byte[] bytOut = encryptByDES(encryptByDES(encryptByDES(bytIn,bytK1),bytK2),bytK3);
为什么返回的数组 bytOut[] 比以前多了24个,他的长度是10264?
我是想从一个文件每读取一块儿就加密一块儿,然后再向另一个文件里写入一块儿,可是将每一块加密之后都多了24个字节,往加密后的文件写入的时候,是应该写入10264里的哪一部分?最后解密的时候还是用这个函数知识三个密钥的顺序得颠倒,这样做是否正确?
如果还有高招儿,请各位大虾指教
先谢谢给为大虾........
...全文
相关推荐
MATLAB实现三重DES加密解密
利用MATLAB实现三重DES加密解密,资源包含5个.m文件,分别用于DES加密,DES解密,循环左移,三重DES加密和三重DES解密。
Java与JavaScript跨平台DES加密解密实战详解
Java加密体系结构(JCA)是整个 Java 安全框架的核心组成部分之一,它不仅定义了加密服务的标准接口,还通过 Provider 模型实现了算法实现的插拔式管理。这种设计极大提升了系统的灵活性和安全性,允许开发人员在运行时动态选择不同的加密提供商(如 SunJCE、Bouncy Castle),而无需修改业务逻辑代码。填充机制用于处理最后一块不足8字节的数据。crypto-js支持多种填充方式:填充方式常量说明PKCS#7添加n个值为n的字节(最常用)
三重DES加密解密系统
在大三上课余期间,我通过学习密码学的课程,自己利用C++编写了三重DES加密解密系统
DES加密算法与三重三密,三重两密,五重五密
压缩包给出了DES加密算法的具体实现代码,其中包括三重三密,三重两密以及五重五密。
DES加密python源码
DES加密算法python源码,分放main、rule(变换规则)、function(变换操作)


Java SE

