Java AES数据加密和解密
我正在开发一个iOS应用程序,其中: 我正在调用一个Javaweb服务 该服务向我发送以下数据:Java AES数据加密和解密,java,ios,objective-c,iphone,encryption,Java,Ios,Objective C,Iphone,Encryption,我正在开发一个iOS应用程序,其中: 我正在调用一个Javaweb服务 该服务向我发送以下数据: 盐值(Base64编码) Base64编码密钥 加密数据 现在我需要解码这个密钥,并使用它来解密相同的数据 我的问题是,当我试图解码密钥时,我得到了零 NSString 下面是我一直在尝试的代码: NSData *cipherKeyData = [[NSData alloc] initWithBase64EncodedString:@"W0JAM2IwMDVhYmM=" options:NSUTF8
NSString
下面是我一直在尝试的代码:
NSData *cipherKeyData = [[NSData alloc] initWithBase64EncodedString:@"W0JAM2IwMDVhYmM=" options:NSUTF8StringEncoding];
NSString *strKey = [[NSString alloc] initWithData:cipherKeyData encoding:NSUTF8StringEncoding];
因此,我无法解密数据。
谁能帮我解决这个问题。首先
strKey
是一个字符串:[B@3b005abc“,我没有得到nil
密钥通常是数据,cipherKeyData
是密钥。在Base64中提供密钥的原因是实际密钥是数据,而不是字符串。无需进一步转换为字符串。通用加密函数的密钥参数是数据,而不是NSString
并非所有数据都可以转换为字符串,存在非法代码点的数据字节和UTF-*序列。在问题中的情况下,数据将转换为字符串“[B@3b005abc“