// Path: src/main/java/com/wind/common/Constants.java
// public interface Constants {
// 
//     /**********************************************分隔符常量************************************************/
// 
//     String POINT_STR = ".";
// 
//     String BLANK_STR = "";
// 
//     String SPACE_STR = " ";
// 
//     String NEWLINE_STR = "\n";
// 
//     String SYS_SEPARATOR = File.separator;
// 
//     String FILE_SEPARATOR = "/";
// 
//     String BRACKET_LEFT = "[";
// 
//     String BRACKET_RIGHT = "]";
// 
//     String UNDERLINE = "_";
// 
//     String MINUS_STR = "-";
// 
// 
// 
//     /**********************************************编码格式************************************************/
// 
//     String UTF8 = "UTF-8";
// 
// 
//     /**********************************************文件后缀************************************************/
// 
//     String EXCEL_XLS = ".xls";
// 
//     String EXCEL_XLSX = ".xlsx";
// 
//     String IMAGE_PNG = "png";
// 
//     String IMAGE_JPG = "jpg";
// 
//     String FILE_ZIP = ".zip";
//     String FILE_GZ = ".gz";
// 
// 
//     /**********************************************io流************************************************/
// 
//     int BUFFER_1024 = 1024;
// 
//     int BUFFER_512 = 512;
// 
//     String USER_DIR = "user.dir";
// 
//     /**********************************************tesseract for java语言字库************************************************/
// 
//     String ENG = "eng";
// 
//     String CHI_SIM = "chi_sim";
// 
// 
//     /**********************************************opencv************************************************/
//     String OPENCV_LIB_NAME_246 = "libs/x64/opencv_java246";
// 
//     String OPENCV_LIB_NAME_330 = "libs/x64/opencv_java330";
// }


import com.wind.common.Constants;
import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
package com.wind.encrypt;




/**
 * AES加密工具类
 * AES已经变成目前对称加密中最流行算法之一；AES可以使用128、192、和256位密钥，并且用128位分组加密和解密数据
 * @author wind
 */

public class AesUtil {
	
	public static final String AES_KEY = "AES";

    /**
     * des加密
     * @param str 待加密对象
     * @param key 密钥 长度为8的倍数
     * @return
     */
    public static byte[] encrypt(String str, String key) {
        byte[] bytes = null;

        try {
            Cipher cipher = init(Cipher.ENCRYPT_MODE, key);
            if(cipher == null){
                return new byte[]{};
            }
// Path: src/main/java/com/wind/common/Constants.java
// public interface Constants {
// 
//     /**********************************************分隔符常量************************************************/
// 
//     String POINT_STR = ".";
// 
//     String BLANK_STR = "";
// 
//     String SPACE_STR = " ";
// 
//     String NEWLINE_STR = "\n";
// 
//     String SYS_SEPARATOR = File.separator;
// 
//     String FILE_SEPARATOR = "/";
// 
//     String BRACKET_LEFT = "[";
// 
//     String BRACKET_RIGHT = "]";
// 
//     String UNDERLINE = "_";
// 
//     String MINUS_STR = "-";
// 
// 
// 
//     /**********************************************编码格式************************************************/
// 
//     String UTF8 = "UTF-8";
// 
// 
//     /**********************************************文件后缀************************************************/
// 
//     String EXCEL_XLS = ".xls";
// 
//     String EXCEL_XLSX = ".xlsx";
// 
//     String IMAGE_PNG = "png";
// 
//     String IMAGE_JPG = "jpg";
// 
//     String FILE_ZIP = ".zip";
//     String FILE_GZ = ".gz";
// 
// 
//     /**********************************************io流************************************************/
// 
//     int BUFFER_1024 = 1024;
// 
//     int BUFFER_512 = 512;
// 
//     String USER_DIR = "user.dir";
// 
//     /**********************************************tesseract for java语言字库************************************************/
// 
//     String ENG = "eng";
// 
//     String CHI_SIM = "chi_sim";
// 
// 
//     /**********************************************opencv************************************************/
//     String OPENCV_LIB_NAME_246 = "libs/x64/opencv_java246";
// 
//     String OPENCV_LIB_NAME_330 = "libs/x64/opencv_java330";
// }


// Path: src/main/java/com/wind/encrypt/AesUtil.java
import com.wind.common.Constants;
import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;

package com.wind.encrypt;




/**
 * AES加密工具类
 * AES已经变成目前对称加密中最流行算法之一；AES可以使用128、192、和256位密钥，并且用128位分组加密和解密数据
 * @author wind
 */

public class AesUtil {
	
	public static final String AES_KEY = "AES";

    /**
     * des加密
     * @param str 待加密对象
     * @param key 密钥 长度为8的倍数
     * @return
     */
    public static byte[] encrypt(String str, String key) {
        byte[] bytes = null;

        try {
            Cipher cipher = init(Cipher.ENCRYPT_MODE, key);
            if(cipher == null){
                return new byte[]{};
            }
            bytes = cipher.doFinal(str.getBytes(Constants.UTF8));