• 大小: 3.73MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-11
  • 语言: 其他
  • 标签: iOS  rsa  加密  解密  

资源简介

内附rsa双向加密完整代码,适合iOS开发初中级开发人员。

资源截图

代码片段和文件信息

//
//  base64.m
//
//  Version 1.1
//
//  Created by Nick Lockwood on 12/01/2012.
//  Copyright (C) 2012 Charcoal Design
//
//  Distributed under the permissive zlib License
//  Get the latest version from here:
//
//  https://github.com/nicklockwood/base64
//
//  This software is provided ‘as-is‘ without any express or implied
//  warranty.  In no event will the authors be held liable for any damages
//  arising from the use of this software.
//
//  Permission is granted to anyone to use this software for any purpose
//  including commercial applications and to alter it and redistribute it
//  freely subject to the following restrictions:
//
//  1. The origin of this software must not be misrepresented; you must not
//  claim that you wrote the original software. If you use this software
//  in a product an acknowledgment in the product documentation would be
//  appreciated but is not required.
//
//  2. Altered source versions must be plainly marked as such and must not be
//  misrepresented as being the original software.
//
//  3. This notice may not be removed or altered from any source distribution.
//

#import “base64.h“


#import 
#if !__has_feature(objc_arc)
#error This library requires automatic reference counting
#endif


@implementation NSData (base64)

+ (NSData *)dataWithbase64EncodedString:(NSString *)string
{
    const char lookup[] =
    {
        99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 
        99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 
        99 99 99 99 99 99 99 99 99 99 99 62 99 99 99 63 
        52 53 54 55 56 57 58 59 60 61 99 99 99 99 99 99 
        99  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 
        15 16 17 18 19 20 21 22 23 24 25 99 99 99 99 99 
        99 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 
        41 42 43 44 45 46 47 48 49 50 51 99 99 99 99 99
    };
    
    NSData *inputData = [string dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
    long long inputLength = [inputData length];
    const unsigned char *inputBytes = [inputData bytes];
    
    long long maxOutputLength = (inputLength / 4 + 1) * 3;
    NSMutableData *outputData = [NSMutableData dataWithLength:maxOutputLength];
    unsigned char *outputBytes = (unsigned char *)[outputData mutableBytes];

    int accumulator = 0;
    long long outputLength = 0;
    unsigned char accumulated[] = {0 0 0 0};
    for (long long i = 0; i < inputLength; i++)
    {
        unsigned char decoded = lookup[inputBytes[i] & 0x7F];
        if (decoded != 99)
        {
            accumulated[accumulator] = decoded;
            if (accumulator == 3)
            {
                outputBytes[outputLength++] = (accumulated[0] << 2) | (accumulated[1] >> 4);  
                outputBytes[outputLength++] = (accumulated[1] << 4) | (accumulated[2] >> 2);  
                outputBytes[output

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-02-27 15:14  IOS-RSA\
     文件        6148  2014-02-27 15:14  IOS-RSA\.DS_Store
     目录           0  2014-02-28 13:47  __MACOSX\
     目录           0  2014-02-28 13:47  __MACOSX\IOS-RSA\
     文件         120  2014-02-27 15:14  __MACOSX\IOS-RSA\._.DS_Store
     目录           0  2014-02-27 15:10  IOS-RSA\base64\
     文件        1641  2013-06-05 14:08  IOS-RSA\base64\base64.h
     目录           0  2014-02-28 13:47  __MACOSX\IOS-RSA\base64\
     文件         212  2013-06-05 14:08  __MACOSX\IOS-RSA\base64\._base64.h
     文件        7010  2013-06-05 14:08  IOS-RSA\base64\base64.m
     文件         212  2013-06-05 14:08  __MACOSX\IOS-RSA\base64\._base64.m
     目录           0  2014-02-27 15:14  IOS-RSA\RSA\
     文件        6148  2014-02-27 15:14  IOS-RSA\RSA\.DS_Store
     目录           0  2014-02-28 13:47  __MACOSX\IOS-RSA\RSA\
     文件         120  2014-02-27 15:14  __MACOSX\IOS-RSA\RSA\._.DS_Store
     文件         706  2013-06-14 11:50  IOS-RSA\RSA\CRSA.h
     文件         212  2013-06-14 11:50  __MACOSX\IOS-RSA\RSA\._CRSA.h
     文件        3548  2013-06-14 11:50  IOS-RSA\RSA\CRSA.m
     文件         212  2013-06-14 11:50  __MACOSX\IOS-RSA\RSA\._CRSA.m
     目录           0  2013-06-14 11:50  IOS-RSA\RSA\include\
     文件        6279  2013-06-05 14:08  IOS-RSA\RSA\include\LICENSE
     目录           0  2014-02-28 13:47  __MACOSX\IOS-RSA\RSA\include\
     文件         212  2013-06-05 14:08  __MACOSX\IOS-RSA\RSA\include\._LICENSE
     目录           0  2013-06-14 11:50  IOS-RSA\RSA\include\openssl\
     文件        5507  2013-06-05 14:08  IOS-RSA\RSA\include\openssl\aes.h
     目录           0  2014-02-28 13:47  __MACOSX\IOS-RSA\RSA\include\openssl\
     文件         212  2013-06-05 14:08  __MACOSX\IOS-RSA\RSA\include\openssl\._aes.h
     文件       52190  2013-06-05 14:08  IOS-RSA\RSA\include\openssl\asn1.h
     文件         212  2013-06-05 14:08  __MACOSX\IOS-RSA\RSA\include\openssl\._asn1.h
     文件       19143  2013-06-05 14:08  IOS-RSA\RSA\include\openssl\asn1_mac.h
     文件         212  2013-06-05 14:08  __MACOSX\IOS-RSA\RSA\include\openssl\._asn1_mac.h
............此处省略155个文件信息

评论

共有 条评论