关于安卓和java使用BASE64Decoder包加密解密

java使用BASE64Decoder加密直接引用jdk自带的包就行




安卓使用BASE64Decoder加密要下载一个BASE64的jar包,直接像java引用系统jdk自带的包会报找不到sun.misc.BASE64Decoder的错误


BASE64Decoder的加密解密工具类

Encrypt.java文件


import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Encrypt {
	public Encrypt(){}
	
	//MD5调用到的方法
	public String bytesToHex(byte[] bytes) {
		StringBuffer md5str = new StringBuffer();
		for (int i = 0; i < bytes.length; ++i) {
			int digital = bytes[i];

			if (digital < 0)
				digital += 256;

			if (digital < 16)
				md5str.append("0");

			md5str.append(Integer.toHexString(digital));
		}
		return md5str.toString().toUpperCase();
	}
	
	/* BASE64解密
	 * 
	 * @param key
	 * @return
	 * @throws Exception
	 */
	public static byte[] decryptBASE64(String key) throws Exception {
		return (new BASE64Decoder()).decodeBuffer(key);
	}
	
	/**
	 * BASE64加密
	 * @param key
	 * @return
	 * @throws Exception
	 */
	public static String encryptBASE64(byte[] key) throws Exception {
		 BASE64Encoder encoder = new BASE64Encoder();
		
		return encoder.encodeBuffer(key);
	}
}

BASE64Encrypt.java文件

public class BASE64Encrypt {

	/**
	 * 数据加密方法
	 * @param code 需要加密的内容
	 * @return 加密后的数据
	 */
	public static String encryptCode(String code){
		try {
			Encrypt objEncrypt = new Encrypt();
			byte[] codeByte = code.getBytes();
			return objEncrypt.encryptBASE64(codeByte);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "";
	}
	
	/**
	 * 数据解密方法
	 * @param code 填入该算法加密过的内容
	 * @return 解密后的内容
	 */
	public static String deciphering(String code){
		try {
			Encrypt objEncrypt = new Encrypt();
			byte[] deciphering = objEncrypt.decryptBASE64(code);
			return new String(deciphering);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "";
	}
}



  • 0
    点赞
  • 2
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

霸气侧漏的名字

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者