JAVA DESUtils加密工具

https://blog.csdn.net/jiangxuexuanshuang/article/details/88002289

示例代码:

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import java.security.SecureRandom;
import java.util.Base64;
/** * @Description: 对参数进行DES和Base64加密 */ public String encryptParam(String sourceParam, String key) throws Exception { byte[] byteContent = sourceParam.getBytes("UTF-8"); SecureRandom random = new SecureRandom(); DESKeySpec desKey = new DESKeySpec(key.getBytes()); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey securekey = keyFactory.generateSecret(desKey); Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.ENCRYPT_MODE, securekey, random); return Base64.getEncoder().encodeToString(cipher.doFinal(byteContent)); }

 

   //对base64以及DES加密后数据进行解密
    public String decryptParam(String sourceParam, String key) throws Exception {
        byte[] byteContent = Base64.getDecoder().decode(sourceParam);
        SecureRandom random = new SecureRandom();
        DESKeySpec desKey = new DESKeySpec(key.getBytes());
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
        SecretKey securekey = keyFactory.generateSecret(desKey);
        Cipher cipher = Cipher.getInstance("DES");
        cipher.init(Cipher.DECRYPT_MODE, securekey, random);
        return new String(cipher.doFinal(byteContent), "UTF-8");
    }

测试加解密

   String encryPlatArchiveNo = null; //参数加密
    String decryPlatArchiveNo = null; //参数加密
           try {
               encryPlatArchiveNo = encryptParam(platArchiveNo, "ABC123ABC123ABCD");
               decryPlatArchiveNo= decryptParam(encryPlatArchiveNo, "ABC123ABC123ABCD");
                } catch (Exception e) {
}

 

posted @ 2020-06-11 10:56  关键步就几步  阅读(995)  评论(0编辑  收藏  举报