import java.security.Key;
import java.util.Base64;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
/**
* 类名称:Des
* 类描述: DES加密 和C#通用的加密算法
* 创建人:wsh
* 创建时间:2022年9月1日 下午2:20:37
* 修改人:wsh
* 修改时间:2022年9月1日 下午2:20:37
* 修改备注:
* @version
*
*/
public class Des {
public static String DESEncrypt(String inputData, String inputKey) throws Exception {
byte[] DESkey = inputKey.getBytes();// 设置密钥
DESKeySpec keySpec = new DESKeySpec(DESkey);// 设置密钥参数
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");// 获得密钥工厂
Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
Cipher enCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");// 得到加密对象Cipher
enCipher.init(Cipher.ENCRYPT_MODE, key);// 设置工作模式为加密模式,给出密钥和向量
byte[] pasByte = enCipher.doFinal(inputData.getBytes("utf-8"));
Base64.Encoder base64Encoder = Base64.getEncoder();
// BASE64Encoder base64Encode= new BASE64Encoder();
return base64Encoder.encodeToString(pasByte);
}
public static void main(String[] args) {
try {
String desEncrypt = DESEncrypt("userName", "12345678");
System.out.println(desEncrypt);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}