安卓,登陆加密

在做登陆功能时候,需要对数据进行加密。

登陆功能有在线登陆、离线登陆、记住密码三个功能

要是没有记住密码,MD5搞定加密足够了。

但是,要在在线、离线基础上,加上记住密码,md5就有问题了,因为MD5不可逆,使用记住密码之后,密码会出错,因为进行了二次加密

所以,要采用一种可逆的加密算法,即能够加密,也能够解密,这样呢,Base64就出现了。

就是使用了Java里面自带的两种方法,并简单的封装了一下工具类。

package com.logis.tool.utils;


import java.io.UnsupportedEncodingException;


import Decoder.BASE64Decoder;
import Decoder.BASE64Encoder;


public class BASE64 {


/**
* BASE64解密
* @param key
* @return
* @throws Exception
*/
public static String decryptBASE64(String key, String charset) throws Exception {
return new String((new BASE64Decoder()).decodeBuffer(key), charset);
}


/**
* BASE64解密 默认支持UTF-8

* @param key
* @return
* @throws Exception
*/
public static String decryptBASE64(String key) throws Exception {
return decryptBASE64(key, "UTF-8");
}


/**
* BASE64加密 默认加密
* @param key
* @return
* @throws UnsupportedEncodingException
* @throws Exception
*/


public static String encryptBASE64(String key, String charset) throws UnsupportedEncodingException {
return (new BASE64Encoder()).encodeBuffer(key.getBytes(charset));
}


/**
* BASE64加密 默认加密方式UTF-8

* @param key
* @return
* @throws UnsupportedEncodingException
* @throws Exception
*/


public static String encryptBASE64(String key) throws Exception {
return encryptBASE64(key, "UTF-8");
}


/*
* public static void main(String[] args) throws Exception { String data =
* BASE64.encryptBASE64("我是中文"); System.out.println("加密前:" + data);

* String byteArray = BASE64.decryptBASE64(data); System.out.println("解密后:"
* + new String(byteArray)); }
*/


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值