package com.app.framework.core.utils.pwd;

import cn.hutool.crypto.SecureUtil;
import org.apache.commons.lang.StringUtils;

/**
 * 密码工具类
 * 
 */
public class PasswordUtil {

	/**
	 * 密码加密处理
	 * 
	 * @param md5_password
	 *            标准md5加密后的密码
	 * @return 处理后的密码
	 */
	public static String encrypt(String md5_password) {
		return SecureUtil.md5(md5_password + "_" + md5_password);
	}

	/**
	 * 判断密码是否与数据库中的密码一致
	 * @param md5_password	标准md5加密后的密码(用户输入的)
	 * @param db_password	数据库中存储的密码
	 * @return true：相等  false：不相等
	 */
	public static boolean equalsPwd(String md5_password, String db_password) {
		if (StringUtils.equals(encrypt(md5_password), db_password)) {
			return true;
		} else {
			return false;
		}
	}
	
	
	/**
	 * 支付密码加密处理
	 * 
	 * @param md5_password
	 *            标准md5加密后的密码
	 * @return 处理后的密码
	 */
	public static String paypwd_encrypt(String md5_password) {
		return SecureUtil.md5(md5_password + "$" + md5_password);
	}

	/**
	 * 支付密码
	 * 判断密码是否与数据库中的密码一致
	 * @param md5_password	标准md5加密后的密码(用户输入的)
	 * @param db_password	数据库中存储的密码
	 * @return true：相等  false：不相等
	 */
	public static boolean paypwd_equalsPwd(String md5_password, String db_password) {
		if (StringUtils.equals(paypwd_encrypt(md5_password), db_password)) {
			return true;
		} else {
			return false;
		}
	}
}
