Ios 用于将NSString转换为NSData并返回的编码
我试图加密/解密NSString,并在最后返回原始字符串。以下是如何将字符串转换为数据对象: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
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:您是否验证了解密的数据解密的数据
与原始数据字符串数据
完全相同?这是个好问题。似乎解密有问题。我是个白痴。