android des 加密解密

来源:互联网 发布:淘宝微利哥 编辑:程序博客网 时间:2024/05/18 02:13
/** 加密 */public byte[] enDES(byte[] datasource, String password) {byte[] data = null;try {Log.e("Haj", "data:"+datasource.length+" password:" + password.length());SecretKeySpec key = new SecretKeySpec(getKey(password), "DES");Cipher cipher = Cipher.getInstance("DES/ECB/NoPadding");  cipher.init(Cipher.ENCRYPT_MODE, key); data = cipher.doFinal(datasource);} catch (Throwable e) {e.printStackTrace();}return data;}/** 解密 */public byte[] deDES(byte[] src, String password){byte[] data = null;try {SecretKeySpec key = new SecretKeySpec(getKey(password), "DES");Cipher cipher = Cipher.getInstance("DES/ECB/NoPadding");  cipher.init(Cipher.DECRYPT_MODE, key); data = cipher.doFinal(src);} catch (Exception e) {e.printStackTrace();return null;}return data;}/**      * 自定义一个key      * @param string       */      public static byte[] getKey(String keyRule) {          Key key = null;          byte[] keyByte = keyRule.getBytes();          // 创建一个空的八位数组,默认情况下为0          byte[] byteTemp = new byte[8];          // 将用户指定的规则转换成八位数组          for (int i = 0; i < byteTemp.length && i < keyByte.length; i++) {              byteTemp[i] = keyByte[i];          }          key = new SecretKeySpec(byteTemp, "DES/ECB/NoPadding");          return key.getEncoded();      } 


0 0
原创粉丝点击