牛骨文教育服务平台(让学习变的简单)
博文笔记

Base64加密和字符串的大小写转换

创建时间:2018-01-14 投稿人: 浏览次数:377

在配置文件的时候,会配置用户名和密码这些敏感的信息,此时需要加密。这里提供一个简单的加密方式,话不多说,直接代码。

导入的有关jar包

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.regex.Pattern;

import org.apache.mina.util.Base64;
import sun.misc.BASE64Decoder;

一:加密

/**
     * 对给定的字符串进行base64加密操作
     * @param inputData
     * @return
     */
    public static String encodeData(String inputData) {
        try {
            if (null == inputData) {
                return null;
            }
            return new String(Base64.encodeBase64(inputData.getBytes("utf-8")), "utf-8");
        } catch (UnsupportedEncodingException e) {
            System.out.println("加密失败!");
        }
        return null;
    }
二:解密

/**
	 * 对给定的字符串进行base64解密
	 * @param s
	 * @return
	 */
	public static String getFromBase64(String s) {
		if (s == null)
			return null;
		BASE64Decoder decoder = new BASE64Decoder();
		try {
			byte[] b = decoder.decodeBuffer(s);
			// 对一些特殊的字符在处理
			String b__ = URLDecoder.decode(new String(b), "utf-8");
			return b__;
		} catch (Exception e) {
		}
		return null;
	}
三:如果想更复杂一些,在加密之前做子母大小写转换

/**
	 * 对给定的字符串进行大小写转换 
	 * @param dbuser
	 * @return
	 */
	public static String makeStringToUpOrLow(String dbuser) {
		String up_Low_string = dbuser;
		String[] u_l_array = up_Low_string.split("");
		// System.out.println("before-----" + up_Low_string);
		StringBuffer again_username = new StringBuffer();
		String low_regu = "^[a-z]+$";
		String up_regu = "^[A-Z]+$";
		int i = 0;
		for (int j = u_l_array.length; i < j; ++i) {
			String arr = u_l_array[i];
			if ((arr != null) && (!("".equals(arr)))) {
				if (Pattern.matches(low_regu, arr))
					arr = arr.toUpperCase();
				else if (Pattern.matches(up_regu, arr))
					arr = arr.toLowerCase();
				again_username.append(arr);
			}
		}
		return again_username.toString();
	}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。