import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
class Untitled {
public static void main(String[] args) throws Exception {
//key 生成1 方法1
// KeyGenerator keyGen = KeyGenerator.getInstance("DESede");//密钥生成器
// keyGen.init(168); //可指定密钥长度为112或168,默认为168
// SecretKey secretKey = keyGen.generateKey();//生成密钥
// byte[] key = secretKey.getEncoded();//密钥字节数组 }
// SecretKey secretKey1 = new SecretKeySpec(key, "DESede");//恢复密钥
//key生成2
String keyString = "8daluqp9xm2kw6zs1htawqee";
SecretKey secretKey2 = new SecretKeySpec(keyString.getBytes(), "DESede");
//加密
String data = "hello";
System.out.println(data.getBytes());
Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");//Cipher完成加密或解密工作类
cipher.init(Cipher.ENCRYPT_MODE, secretKey2);//对Cipher初始化,解密模式
byte[] cipherByte = cipher.doFinal(data.getBytes());//加密data
System.out.println(cipherByte);
IvParameterSpec iv = new IvParameterSpec(cipher.getIV());
//解密
cipher.init(Cipher.DECRYPT_MODE,secretKey2,iv);
byte[] cipherByte2 = cipher.doFinal(cipherByte);
System.out.println(new String(cipherByte2));
}
}
====================
php 版本的 3des/cbc/PKCS5Padding 该如何实现?
phpseclib 这个类库里面好像带这个支持