Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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_Objective C_Encryption_Nsstring_Nsdata - Fatal编程技术网

Ios 用于将NSString转换为NSData并返回的编码

Ios 用于将NSString转换为NSData并返回的编码,ios,objective-c,encryption,nsstring,nsdata,Ios,Objective C,Encryption,Nsstring,Nsdata,我试图加密/解密NSString,并在最后返回原始字符串。以下是如何将字符串转换为数据对象: NSData*string_data=[string dataUsingEncoding:NSUTF8StringEncoding] 在对数据进行加密/解密后,我希望通过执行以下操作将其恢复为原始字符串: NSString*to_string=[NSString stringWithCString:[解密的_数据字节]编码:NSUTF8StringEncoding] 编码似乎匹配,但当我尝试将输出到\u

我试图加密/解密NSString,并在最后返回原始字符串。以下是如何将字符串转换为数据对象:

NSData*string_data=[string dataUsingEncoding:NSUTF8StringEncoding]

在对数据进行加密/解密后,我希望通过执行以下操作将其恢复为原始字符串:

NSString*to_string=[NSString stringWithCString:[解密的_数据字节]编码:NSUTF8StringEncoding]

编码似乎匹配,但当我尝试将
输出到\u string
到控制台时,仍然得到一个空值。我尝试过各种编码设置。它似乎不起作用。

使用:

NSString *to_string = [[NSString alloc] initWithData:string_data encoding:NSUTF8StringEncoding];

使用
stringWithCString
是不安全的,因为从NSData获得的
字节
缓冲区不保证以null结尾。

可能重复使用Base64编码我认为不可能重复。这个问题是关于将任意数据转换为字符串以进行传递。这个问题是关于将解密的数据转换回原始字符串的。这也不起作用,您还必须指定编码而不仅仅是传递的数据。这是我尝试的第一个方法,并将其设置为
[[NSString alloc]initWithData:string\u数据编码:NSUTF8StringEncoding]
也不起作用。@labdulle:您是否验证了解密的数据
解密的数据
与原始数据
字符串数据
完全相同?这是个好问题。似乎解密有问题。我是个白痴。