`

DESPlus+Base64+MD5Util

XML 
阅读更多
//加密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

    在"Base64+MD5 util"中,我们可以推断这是一个工具或库,它结合了这两种技术,提供了一种功能:先对数据进行MD5哈希,得到一个固定的哈希值,然后将这个哈希值用Base64编码。这种组合使用可能有以下几种场景: 1. ...

    Delphi MD5+Base64加密与JAVA .NET一样

    在Java和.NET中,MD5的实现可以通过java.security.MessageDigest或System.Security.Cryptography.MD5类,而Base64编码则可以通过java.util.Base64或System.Convert类来完成,其基本流程与Delphi类似。 虽然MD5由于...

    浅析Java 常用的 4 种加密方式(MD5+Base64+SHA+BCrypt)

    Java 常用的 4 种加密方式(MD5+Base64+SHA+BCrypt) Java 加密是指使用 Java 语言来实现数据加密、解密和数字签名等操作。数据加密是指将明文数据转换为难以理解的密文,以保护数据的机密性和完整性。Java 提供了...

    js加密算法3des和md5-base64和常用工具

    本文将深入探讨三种常见的加密算法:3DES、MD5以及Base64,并介绍它们在实际应用中的工具和用途。 首先,我们来了解一下3DES(Triple DES,三重数据加密标准)。3DES是一种对称加密算法,它是DES(Data Encryption ...

    java base64源码+jar包

    在Java中,Base64编码和解码通常通过`java.util.Base64`类进行操作,该类自Java 8开始引入。这个类提供了多种方法,如`encodeBytes()`用于编码字节数组,`decode()`用于解码Base64字符串。然而,描述中提到的是一个...

    android.util.Base64类

    android.util.Base64类

    DES+BASE64源代码

    在Java中实现DES加密解密和BASE64编码解码并不复杂,主要涉及到`java.security.SecureRandom`生成随机密钥,`javax.crypto.Cipher`处理加密和解密操作,以及`java.util.Base64`进行BASE64转换。以下是一个简化的示例...

    java生成二维码+邮箱验证+Base64加密

    在Java 8及以上版本,`java.util.Base64`提供了方便的API进行Base64编码和解码。例如,可以使用`Base64.getEncoder().encodeToString(byte[])`对字节数组进行编码,`Base64.getDecoder().decode(String)`进行解码。 ...

    base64与MD5加密方法

    Base64和MD5是两种常见的数据编码和加密方法,它们在信息安全领域有着广泛的应用。 Base64是一种基于64个可打印字符的编码方式,主要用于将二进制数据转换为可读性强的文本格式,便于在网络上传输。在Java中,我们...

    Base64Util、FileUtil、GsonUtils、HttpUtil

    Base64Util通常包含如`encodeToString`(将字节数组转为Base64字符串)和`decode`(将Base64字符串转回字节数组)等方法。 2. FileUtil FileUtil工具类主要处理文件和目录的操作,简化了Java的I/O操作。它可能包含...

    Base64以及Md5的使用

    Base64和MD5是两种在信息技术领域广泛应用的编码与哈希算法。它们在不同的场景下发挥着关键作用,确保数据的安全性和可读性。 Base64是一种编码方式,主要用于将二进制数据转换为可打印的ASCII字符,以便在网络传输...

    Base64引入包

    ”很可能是指引入了第三方库,如Apache Commons Codec或者Java 8及更高版本中的`java.util.Base64`。 在Java 8及以后的版本中,Java标准库提供了内置的Base64支持。你可以通过以下方式创建一个Base64编码器: ```...

    java base64的jar包

    Java Base64是一个用于处理Base64编码的库,它为Java开发者提供了便捷的方式来编码和解码Base64数据。Base64是一种在网络上传输二进制数据时常用的编码方式,因为HTTP、电子邮件等协议主要处理ASCII字符,而Base64...

    base64utils jar 包下载

    Base64Utils是一个Java库,通常用于在编程中进行Base64编码和解码。Base64是一种将二进制数据转换为可打印字符的方法,以便在不支持二进制数据的环境中(如电子邮件系统)传输。这个jar包是专门为Java开发者设计的,...

    BASE64Encoder及BASE64Decoder的源码

    在Java中,`java.util.Base64`类提供了Base64编码和解码的功能。`Base64.Encoder`接口代表Base64编码器,而`Base64.Decoder`接口代表Base64解码器。你可以通过`Base64.getEncoder()`和`Base64.getDecoder()`获取默认...

    Java实现的Base64、MD5、3DES三种工具

    Java实现的Base64、MD5、3DES三种工具 本文档将对Java实现的Base64、MD5、3DES三种工具进行详细的知识点解析。 一、Base64加密工具 Base64是一种基于ASCII字符集的加密方法,它使用一个64字符的字符集来表示二...

    将文件进行zip压缩并base64加密和解密

    解密时,先使用`Base64Util.decodeBase64StringToFile()`将BASE64字符串解码回ZIP文件,再使用相应的工具解压缩。 在实际开发中,这些工具类可以封装成一个完整的库,提供给其他部分代码使用。例如,你可以创建一个...

    如何解决JDK1.6下的Base64

    在JDK 7开始,Java引入了`java.util.Base64`类,提供了全面的Base64编码和解码功能。但在JDK 1.6中,开发者需要依赖第三方库来实现这一功能,因为标准库中没有内建的支持。 解决这个问题的一种常见方法是引入Apache...

Global site tag (gtag.js) - Google Analytics