📄 des.java
字号:
byte[] encodeDES(byte[] data, int offset, int len, byte[] passwd) throws Exception
{
if (passwd.length != DESKeySpec.DES_KEY_LEN)
throw new Exception(“DES加密方法的密码位数为8,指定的密码位数为“ + passwd.length);
Security.addProvider (new com.sun.crypto.provider.SunJCE());
try {
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(“DES“);
DESKeySpec keySpec = new DESKeySpec(passwd);
SecretKey deskey = keyFactory.generateSecret(keySpec);
Cipher c = Cipher.getInstance(“DES“);
c.init(Cipher.ENCRYPT_MODE, deskey);
return c.doFinal(data, offset, len);
} catch(Exception ex){
throw new RuntimeException(“DES加密失败“, ex);
}
}
byte[] decodeDES(byte[] data, int offset, int len, byte[] passwd) throws Exception
{
if (passwd.length != DESKeySpec.DES_KEY_LEN)
throw new Exception(“DES加密方法的密码位数为8,指定的密码位数为“ + passwd.length);
Security.addProvider(new com.sun.crypto.provider.SunJCE());
try {
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(“DES“);
DESKeySpec keySpec = new DESKeySpec(passwd);
SecretKey deskey = keyFactory.generateSecret(keySpec);
Cipher c = Cipher.getInstance(“DES“);
c.init(Cipher.DECRYPT_MODE, deskey);
return c.doFinal(data, offset, len);
} catch(Exception ex){
throw new RuntimeException(“DES解密失败“, ex);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -