资源简介
这个可以用做与android php iOS 三个平台,des加解密,支持中文 英文,长字符串
代码片段和文件信息
//
// base64.m
// PengyiPengTool
//
// Created by hongjiang on 15-1-8.
// Copyright (c) 2015年 hongjiang. All rights reserved.
//
#import “base64.h“
static const char encodingTable[] = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
@implementation base64
+(NSString *)encode:(NSData *)data
{
if (data.length == 0)
return nil;
char *characters = malloc(data.length * 3 / 2);
if (characters == NULL)
return nil;
int end = data.length - 3;
int index = 0;
int charCount = 0;
int n = 0;
while (index <= end) {
int d = (((int)(((char *)[data bytes])[index]) & 0x0ff) << 16)
| (((int)(((char *)[data bytes])[index + 1]) & 0x0ff) << 8)
| ((int)(((char *)[data bytes])[index + 2]) & 0x0ff);
characters[charCount++] = encodingTable[(d >> 18) & 63];
characters[charCount++] = encodingTable[(d >> 12) & 63];
characters[charCount++] = encodingTable[(d >> 6) & 63];
characters[charCount++] = encodingTable[d & 63];
index += 3;
if(n++ >= 14)
{
n = 0;
characters[charCount++] = ‘ ‘;
}
}
if(index == data.length - 2)
{
int d = (((int)(((char *)[data bytes])[index]) & 0x0ff) << 16)
| (((int)(((char *)[data bytes])[index + 1]) & 255) << 8);
characters[charCount++] = encodingTable[(d >> 18) & 63];
characters[charCount++] = encodingTable[(d >> 12) & 63];
characters[charCount++] = encodingTable[(d >> 6) & 63];
characters[charCount++] = ‘=‘;
}
else if(index == data.length - 1)
{
int d = ((int)(((char *)[data bytes])[index]) & 0x0ff) << 16;
characters[charCount++] = encodingTable[(d >> 18) & 63];
characters[charCount++] = encodingTable[(d >> 12) & 63];
characters[charCount++] = ‘=‘;
characters[charCount++] = ‘=‘;
}
NSString * rtnStr = [[NSString alloc] initWithBytesNoCopy:characters length:charCount encoding:NSUTF8StringEncoding freeWhenDone:YES];
return rtnStr;
}
+(NSData *)decode:(NSString *)data
{
if(data == nil || data.length <= 0) {
return nil;
}
NSMutableData *rtnData = [[NSMutableData alloc]init];
int slen = data.length;
int index = 0;
while (true) {
while (index < slen && [data characterAtIndex:index] <= ‘ ‘) {
index++;
}
if (index >= slen || index + 3 >= slen) {
break;
}
int byte = ([self char2Int:[data characterAtIndex:index]] << 18) + ([self char2Int:[data characterAtIndex:index + 1]] << 12) + ([self char2Int:[data characterAtIndex:index + 2]] << 6) + [self char2Int:[data characterAtIndex:index + 3]];
Byte temp1 = (byte >> 16) & 255;
[rtnData appendBytes:&temp1 length:1];
if([data characterAtIndex:index + 2] == ‘=‘) {
break;
}
Byte temp2 = (byte >>
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-01-08 16:23 android_ios_php des鍔犲瘑\
文件 6148 2015-01-08 16:25 android_ios_php des鍔犲瘑\.DS_Store
目录 0 2015-01-08 16:37 __MACOSX\
目录 0 2015-01-08 16:37 __MACOSX\android_ios_php des鍔犲瘑\
文件 120 2015-01-08 16:25 __MACOSX\android_ios_php des鍔犲瘑\._.DS_Store
文件 301 2015-01-08 11:40 android_ios_php des鍔犲瘑\ba
文件 171 2015-01-08 11:40 __MACOSX\android_ios_php des鍔犲瘑\._ba
文件 3752 2015-01-08 11:38 android_ios_php des鍔犲瘑\ba
文件 171 2015-01-08 11:38 __MACOSX\android_ios_php des鍔犲瘑\._ba
文件 372 2015-01-08 10:03 android_ios_php des鍔犲瘑\DES3Util.h
文件 171 2015-01-08 10:03 __MACOSX\android_ios_php des鍔犲瘑\._DES3Util.h
文件 6134 2015-01-08 15:15 android_ios_php des鍔犲瘑\DES3Util.m
文件 171 2015-01-08 15:15 __MACOSX\android_ios_php des鍔犲瘑\._DES3Util.m
文件 3126 2015-01-08 15:19 android_ios_php des鍔犲瘑\Des4.java
目录 0 2015-01-08 16:22 android_ios_php des鍔犲瘑\GTMba
文件 372 2015-01-08 10:03 android_ios_php des鍔犲瘑\GTMba
目录 0 2015-01-08 16:37 __MACOSX\android_ios_php des鍔犲瘑\GTMba
文件 171 2015-01-08 10:03 __MACOSX\android_ios_php des鍔犲瘑\GTMba
文件 6134 2015-01-08 15:15 android_ios_php des鍔犲瘑\GTMba
文件 171 2015-01-08 15:15 __MACOSX\android_ios_php des鍔犲瘑\GTMba
文件 5766 2013-11-01 20:11 android_ios_php des鍔犲瘑\GTMba
文件 212 2013-11-01 20:11 __MACOSX\android_ios_php des鍔犲瘑\GTMba
文件 26776 2013-11-01 20:11 android_ios_php des鍔犲瘑\GTMba
文件 212 2013-11-01 20:11 __MACOSX\android_ios_php des鍔犲瘑\GTMba
文件 9945 2013-11-01 20:11 android_ios_php des鍔犲瘑\GTMba
文件 212 2013-11-01 20:11 __MACOSX\android_ios_php des鍔犲瘑\GTMba
文件 523 2013-11-01 20:11 android_ios_php des鍔犲瘑\GTMba
文件 212 2013-11-01 20:11 __MACOSX\android_ios_php des鍔犲瘑\GTMba
文件 212 2015-01-08 16:22 __MACOSX\android_ios_php des鍔犲瘑\._GTMba
文件 13123 2015-01-08 16:37 android_ios_php des鍔犲瘑\test.php
文件 172 2015-01-08 16:37 __MACOSX\android_ios_php des鍔犲瘑\._test.php
............此处省略0个文件信息
- 上一篇:java文件p2p传输
- 下一篇:微信小程序前端和java后端
相关资源
- android 一个简单的音乐在线播放器
- android studio查询项目行数的插件
- android使用CollapsingToolbarLayout实现折叠
- android替换Glide通讯组件为Okhttp并监控
- juv-rtmp-client 破解版
- Android模拟腾讯新闻客户端功能实现
- Android Studio的项目,实现拍照及相册自
- Android 手机防火墙源码
- Android USB摄像头源码
- android 小说阅读器demo
- Android应用源码安卓简单实用课程表项
- android 仿淘宝界面源代码
- android 为知 专业个人知识管理 笔记软
- android各种传感器
- adb push 中文文件
- 基于android平台的串口触摸屏软件
-
Android应用与fr
amework的socket通信 - 五子棋游戏设计毕业设计论文基于A
- 明日科技-android从入门到精通视频
- Android 后台实现录像,无页面
- petsas_rage_against_the_virtual_machine.pdf
- 酷派刷机Android_Download_客服专用_V1.1
- Androidstudio证书文件.zip
- android 自定义 模仿Launcher
- android根据经纬度获取地址
- android动态添加删除组件Layout
- android TCP server 和TCP client通信源码
- unity移动端截图后保存至相册
- android-support-multidex1.0.1.jar
- iOS日志框CocoaLumberjack 使用demo,包含
评论
共有 条评论