【发布时间】:2014-06-16 11:56:04
【问题描述】:
我需要解码一个 base 64 字符串。为此,我使用以下代码:
// Get the base 64 string vector.
NSString *vector64String = insertRequestDictionnary[@"check"];
// Decode the base 64 string into data.
NSData *vector64Data = [NSData dataFromBase64String: vector64String];
// Get the string from decoded data.
NSString *decodeVector = [[NSString alloc] initWithData: vector64Data
encoding: NSUTF8StringEncoding];
..但是每次我得到一个零字符串(decodeVector)。 我检查了这个网站(http://www.base64decode.org/),我的第一个字符串(vector64string)是基数 64。例如:“h508ILubppN1xLpmXWLfnw==”给出“
谢谢。
【问题讨论】:
-
你能提供更多关于这个“向量”的信息,它是什么产生的,它的用途是什么?从这个 base 64 字符串中提取的
NSData不是 UTF8 字符串(如果是,它可能一开始就没有 base 64 编码)。但是,如果没有一点关于原始向量是什么的背景信息,就很难就如何解释生成的二进制数据提供建议。 -
向量是一个键。我试图在 iOS 和 PHP 之间进行 AESCrypt 解密:服务器向我发送加密消息和密钥(vector64String)。要解密消息,我使用一种方法并将此密钥作为参数。但我首先需要解码这个以 64 为基数的密钥。
-
我不确定您在 iOS 端使用的是什么,但 AES 加密通常不要求密钥是字符串。看起来这是一个 16 字节的二进制密钥。
标签: ios iphone objective-c base64