Android 3DES加密
16lz
2021-01-23
/** * 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; } }}
更多相关文章
- Android faceBook KeyHash生成(生成发布密钥散列)
- Android 获取android密钥哈希码(keytool -exportcert -alias open
- Android平台上如何让应用程序获得系统权限以及如何使用platform
- 在Android上实现SSL握手(客户端需要密钥和证书),实现服务器和客户端
- Google Map API V2密钥申请
- 获取Android 地图API 密钥
- 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
- ANDROID Porting系列四、建立公开密钥和签名生成
- android flutter打包 apk 及接facebook 及google登录的密钥生成