任何人都可以指出我正确的方向,能够加密一个字符串,返回另一个字符串与加密数据?(我一直在尝试使用AES256加密.)我想编写一个方法,它接受两个NSString实例,一个是要加密的消息,另一个是加密它的'密码' - 我怀疑我必须生成具有密码的加密密钥,如果密码随加密数据一起提供,则可以反转.然后,该方法应返回从加密数据创建的NSString.
我已经尝试过这篇文章的第一篇评论中详述的技术,但到目前为止我还没有运气.Apple的CryptoExercise肯定有一些东西,但我无法理解它......我已经看到很多对CCCrypt的引用,但是在我使用它的每种情况下它都失败了.
我还必须能够解密加密的字符串,但我希望它像kCCEncrypt/kCCDecrypt一样简单.
我有一个iPhone应用程序,使用CCCrypt(AES256)和明文密钥加密输入的NSString.字符串和密钥被赋予返回NSData对象的加密方法.
请求[数据描述]其中'数据'是加密的字符串数据给出一个NSString,如:"<0b368353 a707e7de 3eee5992 ee69827e e3603dc2 b0dbbc0b 861ca87d f39ce72a>"但当我尝试将其转换为NSString时,我得到"(null)".
我需要向用户返回一个NSString,它可以用于使用相同的明文密钥解密回原始字符串.如果NSData对象的'description'属性可以返回一个字符串,有什么办法可以从NSData对象生成一个NSString而不得"(null)"?
更新:感谢Quinn,他建议使用Base64编码来生成混乱的字符串.据我所知,Base64编码不只是交换字符,但字符交换取决于位置,所以没关系.
我唯一担心的是我希望能够使用'密码短语'加密消息,并且当需要解码混乱的字符串时需要输入相同的密码短语 - 任何人都可以建议实现此方法吗?
此代码应将字符串复制到generalPasteboard,作为[[UIPasteboard generalPasteboard] string]对象,但该方法会导致程序终止.
- (void)copyResultToPasteboard {
NSString *message = self.resultTextView.text;
[UIPasteboard generalPasteboard].string = message;
[message release];
}
Run Code Online (Sandbox Code Playgroud)
我认为这与格式有关,因为如果消息设置为文字字符串,方法可以正常工作,但是resultTextView.text只是一个NSString ...我不完全明白,任何人都可以帮忙吗?
我的代码:
CGPoint *tp_1 = CGPointMake(160, 240);
Run Code Online (Sandbox Code Playgroud)
给出了"初始化中不兼容的类型"错误......为什么会这样?
iphone ×4
objective-c ×4
nsstring ×3
encryption ×2
aes ×1
nsdata ×1
quartz-2d ×1
uipasteboard ×1