需求:客户端需要上服务端获取一分加密的zip文件。由于编码的问题和服务端弄了半天记录一下。
服务端大致逻辑
- 从ftp服务器上获取文件流
- 文件流编码成base64
- 对base64 data加密
// 1. 从http connection 获取流
is = connection.getInputStream();
// 2. 将流转换为byte
orgByte =toByteArray(is);
// 3.base64编码
orgByte= Base64.encode(orgByte);
// 4.DES 加密
DesUtil.encodeCBC("abc12345",orgByte));
iOS客户端大致逻辑:
通过post请求获取到了字符串类型的base64编码。
// 1. 对字符串流解码 类似于 orgByte= Base64.decode(orgByte) 操作
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:resBody[@"fileBtyes"] options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
// 2. 解码之后的的串 转成字符串流
NSData *filedata = [[NSData alloc] initWithBase64EncodedString:decodedString options:NSDataBase64DecodingIgnoreUnknownCharacters];
// 3. 解密
解密
// 4. 写到文件
写文件