//加密body字符串
DESPlus des = new DESPlus("tanglu");//密钥
base64=Base64.encode(des.encrypt(body.getBytes()));
md5=MD5Util.getMD5String(base64);//只做校验用
/**
* 组装发送的数据
* @param command:命令码
* @param encryptionType:加密格式,0:不加密,1:DES+base64
* @param body:xml格式数据体
* @return
*/
public static String toMessage(String command,String encryptionType,String body){
String md5="";
String base64="";
StringBuffer xml=new StringBuffer();
xml.append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
xml.append("<message>");
xml.append("<head>");
xml.append("<version>"+Constants.VERSION+"</version>");//协议版本
xml.append("<command>"+command+"</command>");//命令码
xml.append("<clientId>"+Constants.CLIENT_ID+"</clientId>");//LBC编号
xml.append("<messageId>"+DateUtil.getCurrentDate("yyyyMMddHHmmssSSS")+"</messageId>");//消息流水号(不可重复)
if("0".equals(encryptionType)){//不加密
xml.append("<encryptionType>0</encryptionType>");//加密格式0不加密,1DES base64
byte[] b=null;
try {
b=body.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
md5=MD5Util.getMD5String(b);
}else{
xml.append("<encryptionType>1</encryptionType>");//加密格式0不加密,1DES base64
try {
DESPlus des = new DESPlus("tanglu");
base64=Base64.encode(des.encrypt(body.getBytes()));
md5=MD5Util.getMD5String(base64);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
xml.append("<md>"+md5+"</md>");//校验码
xml.append("</head>");
xml.append("<body>");
if("0".equals(encryptionType)){//不加密
xml.append(body);
}else{
xml.append(base64);
}
xml.append("</body>");
xml.append("</message>");
return xml.toString();
}
分享到:
相关推荐
Base64+MD5 util
android.util.Base64类
Base64 工具类:Base64Util 文件读取工具类:FileUtil Json工具类:GsonUtils http 工具类:HttpUtil
java源码,base64转码解码,包括源码和jar包,图片或文件与base64互相转换。
Android Base64Jar包及Java完整源码 包含:android android.util.Base64 类, BASE64编码、解码算法;包含该类的完整Jar包。 可以直接导入Jar包或者引用类及类中相关方法。 很不错的工具类。
Java lang包+util包Java lang包+util包Java lang包+util包Java lang包+util包Java lang包+util包Java lang包+util包Java lang包+util包
数据加密,解密专用
Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会...
真实的Android Base64的jar。下载既可以使用。在Java项目内亦可以。android-util-0.6.0.jar
番外:对文本+key进行md5 code32加密 再进行base64代码 /** 该方法是对文本+key进行md5 code32加密 再进行base64 @return 加密后的text */ - (NSString *)getSecretKeyWithString:(NSString *)interface{ // ...
企业人力资源管理项目,是SSH+EXT+MySQL+MD5...... 功能有:会话过滤、MD5加密、文件上传、权限设置、报表统计....... 是一个比较成熟的项目。 jar包地址:http://pan.baidu.com/s/1kTIAK55 下载的伙伴反应有些...
base64utils jar 项目中应用,亲测,希望能帮到您,加油 少年
文件,图片与base64互转
MD5加密工具类 将该类放到项目的util文件夹中 MD5Util.MD5Encode("123456"); 调用
添加jar包之后,可以直接使用 BASE64Encoder b64Encoder = new BASE64Encoder();
base64所需jar包,属于简化版的,比传统的sun.misc.BASE64Decoder要小很多,非常实用使用。在我的博客中用到了这个jar包
MD5Util.java