/** * 3DES加密解密工具类 * Created by 犀利的小牛 on 2016/7/29. */public class DES3Util {    // 密钥    private final static String secretKey = "aaaaaaaaaaaaaaaaaaadaaaaa";    // 向量    private final static String iv = "999929999";    // 加解密统一使用的编码方式    private final static String encoding = "UTF-8";    /** * 3DES加密并UrL转码 */    public static String encode(String plainText) {        try {            SecretKey deskey = null;            DESedeKeySpec spec = new DESedeKeySpec(secretKey.getBytes());            SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede");            deskey = keyfactory.generateSecret(spec);            Cipher cipher = Cipher.getInstance("desede/CBC/PKCS5Padding");            IvParameterSpec ips = new IvParameterSpec(iv.getBytes());            cipher.init(Cipher.ENCRYPT_MODE, deskey, ips);            byte[] encryptData = cipher.doFinal(plainText.getBytes(encoding));            return URLEncoder.encode(Base64.encode(encryptData), encoding);        } catch (Exception e) {            e.printStackTrace();            return null;        }    }    /** * UrL解码并3DES解密 */    public static String decode(String encryptText) {     try {            SecretKey deskey = null;            DESedeKeySpec spec = new DESedeKeySpec(secretKey.getBytes());            SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede");            deskey = keyfactory.generateSecret(spec);            Cipher cipher = Cipher.getInstance("desede/CBC/PKCS5Padding");            IvParameterSpec ips = new IvParameterSpec(iv.getBytes());            cipher.init(Cipher.DECRYPT_MODE, deskey, ips);            byte[] decryptData = cipher.doFinal(Base64.decode(URLDecoder.decode(encryptText, encoding)));            return new String(decryptData, encoding);        } catch (Exception e) {            e.printStackTrace();            return null;        }    }}

更多相关文章

  1. Android faceBook KeyHash生成(生成发布密钥散列)
  2. Android 获取android密钥哈希码(keytool -exportcert -alias open
  3. Android平台上如何让应用程序获得系统权限以及如何使用platform
  4. 在Android上实现SSL握手(客户端需要密钥和证书),实现服务器和客户端
  5. Google Map API V2密钥申请
  6. 获取Android 地图API 密钥
  7. 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  8. ANDROID Porting系列四、建立公开密钥和签名生成
  9. android flutter打包 apk 及接facebook 及google登录的密钥生成

随机推荐

  1. 【Android】【Lottie】在Android中使用Lo
  2. [导入]Android平台上四种保存数据的方法
  3. android获取屏幕分辨率大小(DisplayMetri
  4. 启动模式详解
  5. android HttpURLConnection 连接网络 读
  6. Android(安卓)获取并显示远程图片 Picass
  7. android——Bitmap.Config ARGB_8888
  8. Android学习札记22:ThumbnailUtils
  9. android 让TextView自带滚动条
  10. [导入]超酷的android翻屏效果,不要错过