objective-c - iOS上AES128与256加密的问题
高洛峰
高洛峰 2017-04-18 09:07:52
[iOS讨论组]

1.起因是配合服务端进行加密工作,一开始使用AES256,并对比一个AES在线加密的网站
2.出现的状况是AES128可以匹配上网站的结果,AES256无论怎么调整都无法匹配
3.代码如下

   -(NSData *)aes_encryptData:(NSData *)inputData  withKey:(NSString *)key
        {
            NSLog(@"inputData AES %@",inputData);
            char keyPtr[kCCKeySizeAES256+1];
            bzero(keyPtr, sizeof(keyPtr));
            [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];
            NSUInteger dataLength = [inputData length];
            size_t bufferSize = dataLength + kCCBlockSizeAES128;
            void *buffer = malloc(bufferSize);
            size_t numBytesEncrypted = 0;
            CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmAES128,
                                                  kCCOptionPKCS7Padding,
                                                  keyPtr, kCCKeySizeAES128,
                                                  NULL,
                                                  [inputData bytes], dataLength,
                                                  buffer, bufferSize,
                                                  &numBytesEncrypted);
            if (cryptStatus == kCCSuccess) {
                return [NSData dataWithBytesNoCopy:buffer length:numBytesEncrypted];
            }
            free(buffer);
            return nil;
        }

4.我想知道的是,AES256是否通用,如果通用如何能够得出和网站结果一样的加密串?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
黄舟

是不是加密算法的版本不一致呢?或者有什么参数不一样? 你可以参考一下下面这个 AES 的库:
https://github.com/RNCryptor/RNCryptor

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号