📄 docencoder.java
字号:
package com.lanx.app.security.base64;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import sun.misc.BASE64Encoder;
/**
* <p>加密类</p>
*
* @author Ramboo Lan
* @version 0.5
* @Date: 2006-06-09
*/
public class DocEncoder extends AbstractDocCoder {
public DocEncoder() {
super();
}
/**
* 对字符串或者文件进行加密处理
*
* @param str 需要加密的字符串或者文件路径
* */
public String encode(String str) throws Exception {
byte[] sorData = str.getBytes();
byte[] retByte = encodeByteData(sorData);
BASE64Encoder base64 = new BASE64Encoder();
return base64.encode(retByte);
}
/**
* Encrypt a byte array
*
* @param sourceData byte[]
* @return byte[]
* @throws Exception
*/
private byte[] encodeByteData(byte[] sourceData) throws Exception {
// Create SecretKey object
byte[] encryptionByte = encryptionString.getBytes();
DESKeySpec dks = new DESKeySpec(encryptionByte);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(dks);
// Create IvParameterSpec object with initialization vector
IvParameterSpec spec=new IvParameterSpec(encryptionIV);
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, securekey, spec);
return cipher.doFinal(sourceData);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -