// Path: src/main/java/com/qcloud/cos/common_utils/CommonCodecUtils.java
// public class CommonCodecUtils {
// 
// 	private static final Logger LOG = LoggerFactory.getLogger(CommonCodecUtils.class);
// 
// 	private static final String HMAC_SHA1 = "HmacSHA1";
// 
// 	/**
// 	 * 对二进制数据进行BASE64编码
// 	 * 
// 	 * @param binaryData
// 	 *            二进制数据
// 	 * @return 编码后的字符串
// 	 */
// 	public static String Base64Encode(byte[] binaryData) {
// 		String encodedstr = Base64.encodeBase64String(binaryData);
// 		return encodedstr;
// 	}
// 
// 	/**
// 	 * 获取整个文件的SHA1
// 	 * 
// 	 * @param fileInputStream
// 	 *            文件的输入流
// 	 * @return 文件对应的SHA1值
// 	 * @throws Exception
// 	 */
// 	public static String getEntireFileSha1(String filePath) throws Exception {
// 		InputStream fileInputStream = null;
// 		try {
// 			fileInputStream = CommonFileUtils.getFileInputStream(filePath);
// 			String sha1Digest = DigestUtils.sha1Hex(fileInputStream);
// 			return sha1Digest;
// 		} catch (Exception e) {
// 			String errMsg = "getFileSha1 occur a exception, file:" + filePath + ", exception:" + e.toString();
// 			LOG.error(errMsg);
// 			throw new Exception(errMsg);
// 		} finally {
// 			try {
// 				CommonFileUtils.closeFileStream(fileInputStream, filePath);
// 			} catch (Exception e) {
// 				throw e;
// 			}
// 		}
// 	}
// 
// 	/**
// 	 * 计算数据的Hmac值
// 	 * 
// 	 * @param binaryData
// 	 *            二进制数据
// 	 * @param key
// 	 *            秘钥
// 	 * @return 加密后的hmacsha1值
// 	 */
// 	public static byte[] HmacSha1(byte[] binaryData, String key) throws Exception {
// 		try {
// 			Mac mac = Mac.getInstance(HMAC_SHA1);
// 			SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1);
// 			mac.init(secretKey);
// 			byte[] HmacSha1Digest = mac.doFinal(binaryData);
// 			return HmacSha1Digest;
// 			
// 		} catch (NoSuchAlgorithmException e) {
// 			LOG.error("mac not find algorithm {}", HMAC_SHA1);
// 			throw e;
// 		} catch (InvalidKeyException e) {
// 			LOG.error("mac init key {} occur a error {}", key, e.toString());
// 			throw e;
// 		} catch (IllegalStateException e) {
// 			LOG.error("mac.doFinal occur a error {}", e.toString());
// 			throw e;
// 		}
// 	}
// 
// 	/**
// 	 * 计算数据的Hmac值
// 	 * 
// 	 * @param plainText
// 	 *            文本数据
// 	 * @param key
// 	 *            秘钥
// 	 * @return 加密后的hmacsha1值
// 	 */
// 	public static byte[] HmacSha1(String plainText, String key) throws Exception {
// 		return HmacSha1(plainText.getBytes(), key);
// 	}
// }


import static org.junit.Assert.*;
import org.junit.Test;
import com.qcloud.cos.common_utils.CommonCodecUtils;
package com.qcloud.cos.common_utils;




public class CommonCodecUtilsTest {

    private static final String plainText = "681805d9f7c6ab988a00c02f1096b1b68a77aaed";
    private static final String hmacKey = "lw7231!2@7g";

    @Test
    public void testBase64Encode() {
        try {
// Path: src/main/java/com/qcloud/cos/common_utils/CommonCodecUtils.java
// public class CommonCodecUtils {
// 
// 	private static final Logger LOG = LoggerFactory.getLogger(CommonCodecUtils.class);
// 
// 	private static final String HMAC_SHA1 = "HmacSHA1";
// 
// 	/**
// 	 * 对二进制数据进行BASE64编码
// 	 * 
// 	 * @param binaryData
// 	 *            二进制数据
// 	 * @return 编码后的字符串
// 	 */
// 	public static String Base64Encode(byte[] binaryData) {
// 		String encodedstr = Base64.encodeBase64String(binaryData);
// 		return encodedstr;
// 	}
// 
// 	/**
// 	 * 获取整个文件的SHA1
// 	 * 
// 	 * @param fileInputStream
// 	 *            文件的输入流
// 	 * @return 文件对应的SHA1值
// 	 * @throws Exception
// 	 */
// 	public static String getEntireFileSha1(String filePath) throws Exception {
// 		InputStream fileInputStream = null;
// 		try {
// 			fileInputStream = CommonFileUtils.getFileInputStream(filePath);
// 			String sha1Digest = DigestUtils.sha1Hex(fileInputStream);
// 			return sha1Digest;
// 		} catch (Exception e) {
// 			String errMsg = "getFileSha1 occur a exception, file:" + filePath + ", exception:" + e.toString();
// 			LOG.error(errMsg);
// 			throw new Exception(errMsg);
// 		} finally {
// 			try {
// 				CommonFileUtils.closeFileStream(fileInputStream, filePath);
// 			} catch (Exception e) {
// 				throw e;
// 			}
// 		}
// 	}
// 
// 	/**
// 	 * 计算数据的Hmac值
// 	 * 
// 	 * @param binaryData
// 	 *            二进制数据
// 	 * @param key
// 	 *            秘钥
// 	 * @return 加密后的hmacsha1值
// 	 */
// 	public static byte[] HmacSha1(byte[] binaryData, String key) throws Exception {
// 		try {
// 			Mac mac = Mac.getInstance(HMAC_SHA1);
// 			SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1);
// 			mac.init(secretKey);
// 			byte[] HmacSha1Digest = mac.doFinal(binaryData);
// 			return HmacSha1Digest;
// 			
// 		} catch (NoSuchAlgorithmException e) {
// 			LOG.error("mac not find algorithm {}", HMAC_SHA1);
// 			throw e;
// 		} catch (InvalidKeyException e) {
// 			LOG.error("mac init key {} occur a error {}", key, e.toString());
// 			throw e;
// 		} catch (IllegalStateException e) {
// 			LOG.error("mac.doFinal occur a error {}", e.toString());
// 			throw e;
// 		}
// 	}
// 
// 	/**
// 	 * 计算数据的Hmac值
// 	 * 
// 	 * @param plainText
// 	 *            文本数据
// 	 * @param key
// 	 *            秘钥
// 	 * @return 加密后的hmacsha1值
// 	 */
// 	public static byte[] HmacSha1(String plainText, String key) throws Exception {
// 		return HmacSha1(plainText.getBytes(), key);
// 	}
// }


// Path: src/test/java/com/qcloud/cos/common_utils/CommonCodecUtilsTest.java
import static org.junit.Assert.*;
import org.junit.Test;
import com.qcloud.cos.common_utils.CommonCodecUtils;

package com.qcloud.cos.common_utils;




public class CommonCodecUtilsTest {

    private static final String plainText = "681805d9f7c6ab988a00c02f1096b1b68a77aaed";
    private static final String hmacKey = "lw7231!2@7g";

    @Test
    public void testBase64Encode() {
        try {
            String encodeStr = CommonCodecUtils.Base64Encode(plainText.getBytes("UTF-8"));