Java DESede 加解密(”DESede/ECB/PKCS5Padding”)详解编程语言

 

private static final Cipher DES_CIPHER; 
 
 
static { 
    try { 
        DES_CIPHER = Cipher.getInstance("DESede/ECB/PKCS5Padding"); 
    } catch (NoSuchAlgorithmException | NoSuchPaddingException e) { 
        throw Throwables.propagate(e); 
    } 
} 
 
public static String encryptDES(String encryptString, String encryptKey) { 
    try { 
        DES_CIPHER.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(encryptKey.getBytes(IcbcBindConstant.ENCODING_GBK), "DESede")); 
        byte[] encryptedData = DES_CIPHER.doFinal(encryptString.getBytes(IcbcBindConstant.ENCODING_GBK)); 
        String hexData = Hex.encodeHexString(encryptedData).toUpperCase(); 
        return StringUtils.leftPad(String.valueOf(hexData.length()), 6, '0') + hexData; 
    } catch (Throwable e) { 
        throw Throwables.propagate(e); 
    } 
} 
 
public static String decryptDES(String decryptString, String decryptKey) { 
    try { 
        DES_CIPHER.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(IcbcBindConstant.ENCODING_GBK), "DESede")); 
        byte[] decryptedData = DES_CIPHER.doFinal(Hex.decodeHex(decryptString.substring(6).toCharArray())); 
        return new String(decryptedData, IcbcBindConstant.ENCODING_GBK); 
    } catch (Throwable e) { 
        throw Throwables.propagate(e); 
    } 
}

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/15942.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论