最近接到一项新的任务,要求编写一个联通在信的退订接口。逻辑不难,技术也不深,不过就是这样也花了我不少时间。事后之余,心中颇有感触。
按照说明,通过HTTP(S)协议,调用总部的接口进行定制和退定请求。
调用示例:http://(接收方SPMS的地址)? SPMSCode=...&AccessTime=...&EncodeStr=...
接口调用过程中,EncodeStr参数要求加密处理,加密过程如下:
EncodeStr生成算法如下:
EncodeStr = URLEncoding(Base64(Encrypt(SpmsCode + “$202$”+ UserNumber + “$”+ SpNumber + “$”+ OperaTag)))
URLEncoding是指对BASE64编码中的HTML控制码进行转义的过程,其具体实现参见RFC1738。
Encrypt加密算法采用3-DES算法,密钥为192位,给SP时采用Base64编码,编码后为32字节。
好了,废话不多说了,以下是我这几天通过网上资料收集,总结出的几种DES3算法的实现。
示例1:
public class MyDES3 {
/**
* DES3加密
* @param mykey 密钥(二进制数组)
* @param str 要加密的字符串

本文介绍了在Java中实现3DES加密解密的三种方法,包括使用`SecretKeySpec`、`DESedeKeySpec`和BouncyCastle库。加密和解密过程涉及到URLEncoding、Base64编码和3DES算法。代码示例详细展示了如何初始化密钥、创建Cipher实例以及执行加密解密操作。


被折叠的 条评论
为什么被折叠?



