繁体   English   中英

iOS 6是否支持OpenSSL?

[英]Does iOS 6 support OpenSSL?

我的iOS应用发送和接收来自主服务器的消息。 我希望这些消息被加密。 您如何在iOS6上加密-解密AES-256字符串? 有“本机”解决方案吗?

OpenSSL未与iOS捆绑在一起,但您仍然可以自己对其进行编译并将其链接到您的应用程序中。 您也可以使用通用加密。

未捆绑OpenSSL的原因是,在不破坏与依赖较旧版本的应用程序的兼容性的情况下,无法升级OpenSSL的系统版本。

你不应该“使用AES-256”,因为AES-256仅仅是一个密码来加密邮件,它不会让你的信息安全。 您应该使用更高级别的工具,例如SSL或TLS。 这样想吧:AES-256就像一块砖头。 你要房子。 房屋是安全的,您可以用砖建造房屋。 拥有砖头并不能确保您的安全。 使用AES-256不能使您的协议安全。

是,iOS 6支持OpenSSL。

使用此方法:首先在您的项目中添加安全框架

然后使用此加密/解密类别创建类别

然后导入:

#import <CommonCrypto/CommonCryptor.h>

#import "NSData+Encryption.h"

使用这些:

- (NSData*) encryptString:(NSString*)plaintext withKey:(NSString*)key {
    return [[plaintext dataUsingEncoding:NSUTF8StringEncoding] AES256EncryptWithKey:key];
}

- (NSString*) decryptData:(NSData*)ciphertext withKey:(NSString*)key {
    return [[[NSString alloc] initWithData:[ciphertext AES256DecryptWithKey:key]
                                  encoding:NSUTF8StringEncoding] autorelease];
}

看看这个链接: ios-openssl

希望对您有帮助。

我建议使用CCCrypt调用。

您可以在其他线程中查看示例:

iPhone上NSString的AES加密

iOS 5:数据加密AES-256 EncryptWithKey:找不到

另一方面,我认为Dietrich选项更具意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM