解决方案 »
- WIFI direct 如何在代码中开启服务。
- android 模拟器测试没问题,真机网络连接异常
- android 内存管理求教
- 移动网络设置 已启用数据 选项开关的编程实现
- 怎么设置TableLayout里面单元格边框颜色,很急,谢谢!分就这么多了.
- android:如何计算不同时区的时间差
- 如何在Windows环境下开发Android源码?
- android ADT的模拟器启动后,浏览器无法上网
- 关于安卓控件ImageView
- 毕业设计的两个知识点不会,求助大佬
- Slidingmenu setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN)。菜单无法获取焦点
- Android usb供电可以关闭吗
import java.security.Key;
import java.security.spec.AlgorithmParameterSpec;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;public class DES { public static String encode(String data, String DESkey) throws Exception {
Cipher enCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");// 得到加密对象Cipher
DESKeySpec keySpec = new DESKeySpec(DESkey.getBytes());// 设置密钥参数
AlgorithmParameterSpec iv = new IvParameterSpec(DESkey.getBytes());// 设置向量
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");// 获得密钥工厂
Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
enCipher.init(Cipher.ENCRYPT_MODE, key, iv);// 设置工作模式为加密模式,给出密钥和向量
byte[] pasByte = enCipher.doFinal(data.getBytes("utf-8"));
return new String(BASE64.encode(pasByte));
} public static String decode(String data, String DESkey) throws Exception {
Cipher deCipher = Cipher.getInstance("DES/CBC/Nopadding");
DESKeySpec keySpec = new DESKeySpec(DESkey.getBytes());// 设置密钥参数
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");// 获得密钥工厂
Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
deCipher.init(Cipher.DECRYPT_MODE, key,
new IvParameterSpec(DESkey.getBytes()));
byte[] pasByte = deCipher.doFinal(BASE64.decode(data.toCharArray()));
return new String(pasByte, "UTF-8");
}}