/** * 加密 * 模式:AES/CBC/PKCS7Padding * @author dai * @param encodeRules 秘钥 * @param content 加密串 * @return */ public static String AESEncode(String encodeRules, String content, String ivParameter) throws Exception { int base = 16; byte[] keybyte = encodeRules.getBytes("UTF-8"); if (keybyte.length % base != 0) { int groups = keybyte.length / base + (keybyte.length % base != 0 ? 1 : 0); byte[] temp = new byte[groups * base]; Arrays.fill(temp, (byte) 0); System.arraycopy(keybyte, 0, temp, 0, keybyte.length); keybyte = temp; } // 初始化 Security.addProvider(new BouncyCastleProvider()); // 转化成JAVA的密钥格式 Key key = new SecretKeySpec(keybyte, "AES"); try { // 初始化cipher Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding","BC"); cipher.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(ivParameter.getBytes())); byte[] encryptedText = cipher.doFinal(content.getBytes()); return new String(new Base64().encode(encryptedText)).replaceAll("\r\n", ""); } catch (Exception e) { logger.info("AESEncode error",e); } return null; } |
AES128加密
最新推荐文章于 2025-11-30 06:30:00 发布
6万+

被折叠的 条评论
为什么被折叠?



