Android DES加密解密算法
来源:互联网 发布:python argsort函数 编辑:程序博客网 时间:2024/05/23 00:02
package cn.howie.util;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;public class DESUtil {private static byte[] key = "你的key".getBytes();//解密方式如下://new String(DESUtil.decrypt(Base64.decode("pKkeY+XC8zPKjzPloikX2H8HpfPcztNE", 0)))/** * 加密函数 * @param data 加密数据 * @param key 密钥 * @return 返回加密后的数据 */public static byte[] encrypt(byte[] data) {try {// DES算法要求有一个可信任的随机数源SecureRandom sr = new SecureRandom();// 从原始密钥数据创建DESKeySpec对象DESKeySpec dks = new DESKeySpec(key);// 创建一个密匙工厂,然后用它把DESKeySpec转换成// 一个SecretKey对象SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");SecretKey secretKey = keyFactory.generateSecret(dks);// using DES in ECB modeCipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");// 用密匙初始化Cipher对象cipher.init(Cipher.ENCRYPT_MODE, secretKey, sr);// 执行加密操作byte encryptedData[] = cipher.doFinal(data);return encryptedData;} catch (Exception e) {e.printStackTrace();}return null;}/** * 解密函数 * @param data 解密数据 * @param key 密钥 * @return 返回解密后的数据 */public static String decrypt(byte[] data) {try {// DES算法要求有一个可信任的随机数源SecureRandom sr = new SecureRandom();// byte rawKeyData[] = /* 用某种方法获取原始密匙数据 */;// 从原始密匙数据创建一个DESKeySpec对象DESKeySpec dks = new DESKeySpec(key);// 创建一个密匙工厂,然后用它把DESKeySpec对象转换成// 一个SecretKey对象SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");SecretKey secretKey = keyFactory.generateSecret(dks);// using DES in ECB modeCipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");// 用密匙初始化Cipher对象cipher.init(Cipher.DECRYPT_MODE, secretKey, sr);// 正式执行解密操作byte decryptedData[] = cipher.doFinal(data);return new String(decryptedData);} catch (Exception e) {e.printStackTrace();}return null;}}
加密后要先用base64再加密后再传输,接到加密后的字符后先base64解密再用des解密,否则的话抛出异常
- Android DES加密解密算法
- Android用到的DES加密解密算法
- DES加密解密算法
- 加密解密---------->DES算法
- DES加密解密算法
- DES加密解密算法
- DES加密解密算法
- DES加密解密算法
- DES加密解密算法
- DES 加密 解密算法
- des加密解密算法
- 【加密】DES加密解密算法
- Android DES加密解密
- android des 加密解密
- Android DES加密解密
- android DES加密解密
- Android--DES加密解密
- Java加密解密算法-DES加密解密
- In-App Purchase(iap)快速指南
- 手把手教你mysql(七)子查询
- RealARM210 V3.2硬件版本 nand flash地址分配明细
- java实现线程安全的栈(链式储存)
- 在Sqlite中通过Insert Or Replace来实现插入和更新
- Android DES加密解密算法
- 鞋 带
- UVA 10236 - The Fibonacci Primes(斐波那契素数)
- Xcode5上跑iPhone4出此警告信息purgeIdleCellConnections: found one to purge conn
- ios 消息推送
- linux动态库相对严谨的做法
- 我是陈阿土
- 使用 VisualVM 进行性能分析及调优
- android获取php简单数据