• 大小: 26KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: Java
  • 标签: android  iOS  php  des  

资源简介

这个可以用做与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鍔犲瘑\base64.h
     文件         171  2015-01-08 11:40  __MACOSX\android_ios_php des鍔犲瘑\._base64.h
     文件        3752  2015-01-08 11:38  android_ios_php des鍔犲瘑\base64.m
     文件         171  2015-01-08 11:38  __MACOSX\android_ios_php des鍔犲瘑\._base64.m
     文件         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鍔犲瘑\GTMbase64-master\
     文件         372  2015-01-08 10:03  android_ios_php des鍔犲瘑\GTMbase64-master\DES3Util.h
     目录           0  2015-01-08 16:37  __MACOSX\android_ios_php des鍔犲瘑\GTMbase64-master\
     文件         171  2015-01-08 10:03  __MACOSX\android_ios_php des鍔犲瘑\GTMbase64-master\._DES3Util.h
     文件        6134  2015-01-08 15:15  android_ios_php des鍔犲瘑\GTMbase64-master\DES3Util.m
     文件         171  2015-01-08 15:15  __MACOSX\android_ios_php des鍔犲瘑\GTMbase64-master\._DES3Util.m
     文件        5766  2013-11-01 20:11  android_ios_php des鍔犲瘑\GTMbase64-master\GTMbase64.h
     文件         212  2013-11-01 20:11  __MACOSX\android_ios_php des鍔犲瘑\GTMbase64-master\._GTMbase64.h
     文件       26776  2013-11-01 20:11  android_ios_php des鍔犲瘑\GTMbase64-master\GTMbase64.m
     文件         212  2013-11-01 20:11  __MACOSX\android_ios_php des鍔犲瘑\GTMbase64-master\._GTMbase64.m
     文件        9945  2013-11-01 20:11  android_ios_php des鍔犲瘑\GTMbase64-master\GTMDefines.h
     文件         212  2013-11-01 20:11  __MACOSX\android_ios_php des鍔犲瘑\GTMbase64-master\._GTMDefines.h
     文件         523  2013-11-01 20:11  android_ios_php des鍔犲瘑\GTMbase64-master\README.md
     文件         212  2013-11-01 20:11  __MACOSX\android_ios_php des鍔犲瘑\GTMbase64-master\._README.md
     文件         212  2015-01-08 16:22  __MACOSX\android_ios_php des鍔犲瘑\._GTMbase64-master
     文件       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个文件信息

评论

共有 条评论