📄 des.java
字号:
import java.security.SecureRandom;
import javax.crypto.*;
import javax.crypto.spec.DESKeySpec;
public class DES {
private byte[] desKey;
private final byte[] EncryptionIV = "ABCDEFGH".getBytes();
private final static String DES = "DES/CBC/PKCS5Padding";
public DES(byte[] desKey)
{
this.desKey = desKey;
}
public byte[] doEncrypt(byte[] plainText) throws Exception
{
javax.crypto.spec.IvParameterSpec spec=new javax.crypto.spec.IvParameterSpec( EncryptionIV );
byte rawKeyData[] = desKey;
DESKeySpec dks = new DESKeySpec(rawKeyData);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey key = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance(DES);
cipher.init(Cipher.ENCRYPT_MODE, key, spec );
byte data[] = plainText;
byte encryptedData[] = cipher.doFinal(data);
return encryptedData;
}
public static void main(String[] args) throws Exception {
String key = "12345678";
String value = "+013912345678";
DES desEncrypt = new DES(key.getBytes());
System.out.println("doEncry");
byte[] encryptText = desEncrypt.doEncrypt(value.getBytes());
System.out.println("doEncrypt - " + new String(encryptText));
int i;
for ( i=0; i< encryptText.length; i++)
{
int hex = (int)encryptText[i] & 0xff;
System.out.print( Integer.toHexString(hex) + " " );
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -