【问题标题】:How to send the encrypted string from iOS to .net如何将加密的字符串从 iOS 发送到 .net
【发布时间】:2016-11-17 06:33:07
【问题描述】:

我正在使用下面的代码使用AES 加密,

NSString *encryptedString =  [AESCrypt encrypt:@"str" password:@"password"];

相同的字符串在 .net 服务器中未正确解码。 .net服务器中使用的代码如下,

AesEncryption = new RijndaelManaged();
AesEncryption.KeySize = 256;
AesEncryption.BlockSize = 128;
AesEncryption.Mode = CipherMode.CBC;
AesEncryption.Padding = PaddingMode.PKCS7;
string keyStr = "cGFWDwzc3dvcmQAAAAAAwzc3==";
string ivStr = "aEdcGFzc3dvcmQwzc3AvcmQAAAAA==";
byte[] ivArr = Convert.FromBase64String(keyStr);
byte[] keyArr = Convert.FromBase64String(ivStr);
AesEncryption.IV = ivArr;
AesEncryption.Key = keyArr;

你能帮我解决这个问题吗?

【问题讨论】:

  • 我建议使用base64编码。

标签: ios objective-c .net encryption aes


【解决方案1】:

使用以下链接:添加 iOS 文件并实现头文件中提供的相同内容,并要求您的 .Net 开发人员进行相同的工作。

https://github.com/Pakhee/Cross-platform-AES-encryption

【讨论】:

  • 那个图书馆太糟糕了。 RNCryptor 是一个更好的选择。
【解决方案2】:

您是否尝试过下面的 EncodeToPercentEscapeString 代码来加密您的字符串。

-(NSString *) encodeToPercentEscapeString
{
    return (__bridge_transfer NSString *) CFURLCreateStringByReplacingPercentEscapes(NULL,
                                                                            (CFStringRef) self,
                                                                            ((CFStringRef) @" !*'();:@&=+$,/?%#[]"));
}

NSString *password = @"password_123";
NSString *encryptString = [password encodeToPercentEscapeString];

【讨论】:

    【解决方案3】:

    我们在 iOS 中确实有 AES、SHA、MDM5 等加密技术来加密数据/字符串,以确保数据在空中传输的安全性,

    我更喜欢使用 AES 256 加密,您可以按照教程对 URL 中给出的字符串进行加密:http://robnapier.net/aes-commoncrypto

    加密字符串后,您可以使用网络服务将其发送到 .net/ 后端。

    要使用网络服务将数据发送到 .net,此处问题中具有 3 个信誉的答案:Send parameters to a web service 将为您提供帮助。

    【讨论】:

    • 嗨,我可以获取该 RNCryptor 的下载链接吗?
    【解决方案4】:

    首先,您将 iv 和 key 混为一谈:

                                            VVVVVV
    byte[] ivArr = Convert.FromBase64String(keyStr);
    byte[] keyArr = Convert.FromBase64String(ivStr);
                                             ^^^^^^
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多