前文
刚入职新公司、发现公司用的3des加解密方法、然后要我这边保持一致、。以下是研究整理。
实现
不喜欢说废话、直接贴源码了、、
首先是java端的键值处理方法:
研究发现,此方法对键值做出来如下处理。
初始化一个空的24的字节数组,获取当前键值的字节数组,然后判断当前键值的字节数组是否达到24位,如果达到或超出则取当前字节数组前24位、如果没有则用System.array方法替换初始化的24位字节数组的当前字节数组长度。
iOS实现
static UInt32 byte[24];
NSData* xmlData = [gkey dataUsingEncoding:NSUTF8StringEncoding];
Byte *vkey = (Byte *)[xmlData bytes];
NSData *keyData = [NSData dataWithBytes:byte length:24];
Byte *keyByte = (Byte *)[keyData bytes];
if (xmlData.length < 24) {
for (int i = 0; i <= xmlData.length - 1; i++) {
keyByte[i] = vkey[i];
}
vkey = keyByte;
}
const void *resultvkey = (const void *) vkey;
结束:
具体3des加解密方法、有兴趣的朋友可以私聊我要链接秘钥、。
链接: https://pan.baidu.com/s/1bFkHgq