des.java
来自「DES加密方法」· Java 代码 · 共 33 行
JAVA
33 行
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 + =
减小字号Ctrl + -
显示快捷键?