Java学习之3DES加解密

    xiaoxiao2021-04-18  66

    /** * CBC加密 * @param key 密钥 3 * 8位 * @param keyiv IV 8位 * @param data 明文 * @return Base64编码的密文 * @throws Exception */ public static byte[] des3EncodeCBC(byte[] key, byte[] keyiv, byte[] data) throws Exception { Key deskey = null;   DESedeKeySpec spec = new DESedeKeySpec(key);   SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede");   deskey = keyfactory.generateSecret(spec);   Cipher cipher = Cipher.getInstance("desede" + "/CBC/PKCS5Padding");   IvParameterSpec ips = new IvParameterSpec(keyiv);   cipher.init(Cipher.ENCRYPT_MODE, deskey, ips);   byte[] bOut = cipher.doFinal(data);   return bOut; } /** * 解密 * @param key * @param keyiv * @param data * @return * @throws Exception */ public static byte[] des3DecodeCBC(byte[] key, byte[] keyiv, byte[] data) throws Exception { DESedeKeySpec dks = new DESedeKeySpec(key);   SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("desede");   SecretKey securekey = keyFactory.generateSecret(dks);   // 解密   Cipher cipher = Cipher.getInstance("desede" + "/CBC/PKCS5Padding");   IvParameterSpec ivp = new IvParameterSpec(keyiv);   cipher.init(Cipher.DECRYPT_MODE, securekey, ivp);   return cipher.doFinal(data); }
    转载请注明原文地址: https://ju.6miu.com/read-675352.html

    最新回复(0)