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 + -
显示快捷键?