Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将加密文本作为NSString而不是NSData获取_Ios_Aes - Fatal编程技术网

Ios 将加密文本作为NSString而不是NSData获取

Ios 将加密文本作为NSString而不是NSData获取,ios,aes,Ios,Aes,如何在Objectce-C中以字符串形式而不是NSData对象的形式获取加密数据? 我需要将此加密文本发送到>net方法,解密过程是.net代码中的句柄。 或者任何人都可以帮助我在iOS中加密文本并在>net中解密它 从评论中添加-Zaph 我正在使用以下代码: StringEncryption *crypto = [[StringEncryption alloc] init]; NSData *_secretData = [SearchKey dataUsingEncoding:NSUTF8S

如何在Objectce-C中以字符串形式而不是NSData对象的形式获取加密数据? 我需要将此加密文本发送到>net方法,解密过程是.net代码中的句柄。 或者任何人都可以帮助我在iOS中加密文本并在>net中解密它

从评论中添加-Zaph 我正在使用以下代码:

StringEncryption *crypto = [[StringEncryption alloc] init];
NSData *_secretData = [SearchKey dataUsingEncoding:NSUTF8StringEncoding];
CCOptions padding = kCCOptionPKCS7Padding;
NSData *key = [_key dataUsingEncoding:NSUTF8StringEncoding];
NSData *encryptedData = [crypto encrypt:_secretData key:key padding:&padding];

我需要将加密数据发送到.Net。但我不知道如何将NSData发送到.Net方法,所以我尝试将此encryptedData转换为NSString,不幸的是,它给了我零。我尝试了base64EncodedStringWithOptions,解密时也会出错。

您可以将NSData转换为Base64字符串。 对于iOS 7,NSData有以下两种方法:直接引用文档

base64EncodedDataWithOptions:使用给定的选项从接收器的内容创建一个Base-64、UTF-8编码的NSData


base64EncodedStringWithOptions:使用给定的选项从接收器的内容创建一个Base-64编码的NSString。

当然,这里有帮助。编写代码并非易事。学习,研究,尽你所能写出最好的。如果不起作用,请返回问题代码,并提供帮助。数据加密生成8位字节,而不是ASCII字符。因此需要一些编码,通常是Base64。加密数据必须作为8位字节处理,而不是常规字符。如果您试图将数据视为字符,则不可避免地会损坏它,并且它将无法破译。如果传输需要字符串,请将8位字节编码为Base64。什么是StringEncryption类?什么,新课?未显示的是模式,如果是CBC,则应使用CBC移动iv和键长。密钥不应为密码字符串,且密钥长度应正确。那么在StringEncryption和.net中如何处理这些事情呢?我使用的代码是StringEncryption*crypto=[[StringEncryption alloc]init];NSData*_secretData=[SearchKey dataUsingEncoding:NSUTF8StringEncoding];cOptions padding=kCCOptionPKCS7Padding;NSData*encryptedData=[crypto encrypt:[U secretData key:[[U key DataUsingEncode:NSUTF8StringEncoding]填充:&padding];我需要将加密数据发送到.Net。但我不知道如何将NSData发送到.Net方法,所以我尝试将此加密数据转换为NSString,不幸的是,它为我提供了零。我尝试使用base64EncodedStringWithOptions,在解密时也会出现错误…为问题添加了有关格式和问题连续性的注释。