`

java服务端与ios,android实现简单数据加密工具

阅读更多

/*

 * DES3.java

 * Copyright (c) 2015 

 * All rights reserved.

 * ---------------------------

 * 2015年3月30日 Created

 */

package com.mango.p2p.utils;

 

import java.security.Key;

 

import javax.crypto.Cipher;

import javax.crypto.SecretKeyFactory;

import javax.crypto.spec.DESedeKeySpec;

import javax.crypto.spec.IvParameterSpec;

 

/**

 * 

 * DES3加解密

 * 

 * @author chaizhilei

 * @version 1.0 2015年3月30日

 * 

 */

public class DES3 {

// 密钥

private final static String secretKey = "jinrong-online.com-app-c";

// 向量

private final static String iv = "01234567";

// 加解密统一使用的编码方式

private final static String encoding = "utf-8";

 

/**

* 3DES加密

* @param plainText

*            普通文本

* @return

* @throws Exception

*/

public static String encode(String plainText) throws Exception {

Key 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 Base64.encodeToString(encryptData, Base64.DEFAULT);

}

 

/**

* 3DES解密

* @param encryptText

*            加密文本

* @return

* @throws Exception

*/

public static String decode(String encryptText) throws Exception {

Key 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(encryptText, Base64.DEFAULT));

 

return new String(decryptData, encoding);

}

 

public static void main(String[] args) {

try {

String jiami = encode("ABC");

System.out.println("加密后的结果" + jiami);

String jiemi = decode(jiami);

System.out.println("解密结果" + jiemi);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

}

注意:

一定要确保服务器端的密文和客户端的密文是一样的

 

分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java开源包4

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包3

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包11

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包6

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包101

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包9

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包8

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包5

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包10

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包1

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包2

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包7

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    Java资源包01

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    万岳在线教育系统源码v1.1.4 ManyuehOnlineEducationSystem.rar

    数据加密,内容云端存储,防盗防录屏,IP访问监控,全方位保护课程版权。 3、多终端支持 支持Web、Android、iOS、ipad等多个终端切换。 4、注重体验 高清视频直播授课,码率自适应,播放超低延迟,互动连麦流畅...

Global site tag (gtag.js) - Google Analytics