AES加密/解密iOs和.Net

AES加密/解密iOs和.Net,ios,objective-c,.net,encryption,aes,Ios,Objective C,.net,Encryption,Aes,我使用CocoaSecurity和RNCryptor在iOs应用程序上加密NSString,在服务器端(.NET)尝试使用web上的众多函数之一对其进行解密,但没有成功。还有AES在线解密工具,解密失败 如果您在iOS上使用.NET,是否有人可以提供一个在iOS上使用NSString加密并在.NET(VB或C#)中使用AES256解密的工作示例?。RNCryptor不仅仅是加密/解密,它是一个完整的安全协议,有关RNCryptor协议的详细信息,请参阅。RNEncryptor正在积极维护 这并不

我使用CocoaSecurity和RNCryptor在iOs应用程序上加密NSString,在服务器端(.NET)尝试使用web上的众多函数之一对其进行解密,但没有成功。还有AES在线解密工具,解密失败

如果您在iOS上使用.NET,是否有人可以提供一个在iOS上使用NSString加密并在.NET(VB或C#)中使用AES256解密的工作示例?

。RNCryptor不仅仅是加密/解密,它是一个完整的安全协议,有关RNCryptor协议的详细信息,请参阅。RNEncryptor正在积极维护


这并不可怕,但我不会使用它,它使用SHA从密码派生加密密钥,这是不好的,当前的做法是使用密钥派生函数,如PBKDF2,它更安全。您必须匹配.NET上的协议,但这并不详细,您必须阅读代码才能找到它。它已经一年多没有更新了。

谢谢zaph。你的回答对我帮助很大

正如所建议的,在iOS和.Net上使用,我可以加密iOS上的数据,然后在.Net上解密

下面是一个小例子,我是如何做到这一点的:

在iOS方面:

NSData* data = [@"mySecretMessage" dataUsingEncoding:NSUTF8StringEncoding];
NSError* error;
NSData* encrypted = [RNEncryptor encryptData:data
                                withSettings:kRNCryptorAES256Settings
                                    password:@"mySecretPassword"
                                       error:&error];
NSString* encryptedDataAsString = [encrypted base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn];
//encryptedDataAsString = AwFnpL/jHjAYNkNnfBRUwl0pMwyHnM8uo2dojFk+rC7x9LnaFz+T1KaTjxSXoxF6Q4mzT+yl5RLuKZZuaiDlY5dXBw6TEyEXNJ8CxG9ZDZB3nQ==
在.Net端(使用Visual Basic):


我试过上面的代码并没有给出和pod'RNCryptor objc'相同的字符串,我不明白这是什么意思?
Dim decryptor As RNCryptor.Decryptor = New RNCryptor.Decryptor

MessageBox.Show(decryptor.Decrypt("AwFnpL/jHjAYNkNnfBRUwl0pMwyHnM8uo2dojFk+rC7x9LnaFz+T1KaTjxSXoxF6Q4mzT+yl5RLuKZZuaiDlY5dXBw6TEyEXNJ8CxG9ZDZB3nQ==", "mySecretPassword"))
//MessageBox output = mySecretMessage