Objective#C等效代码的C#代码

前端之家收集整理的这篇文章主要介绍了Objective#C等效代码的C#代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将用C#编写的代码转换为目标c,我试过但无法得到相同的结果.任何帮助都会很明显.
internal static class Common {
    static string encryptionKey = "0C61L2FSL2F3E7X8E9T1L2F3E4O5";
    static byte[] salt = new byte[] {0x49,0x76,0x61,0x6e,0x20,0x4d,0x65,0x64,0x76};
        
    internal static string Encrypt(string clearText)
    {
        byte[] clearBytes = Encoding.Unicode.GetBytes(clearText);
        using (Aes encryptor = Aes.Create())
        {
            Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(encryptionKey,salt);

            encryptor.Key = pdb.GetBytes(32);
            encryptor.IV = pdb.GetBytes(16);

            using (MemoryStream ms = new MemoryStream())
            {
                using (CryptoStream cs = new CryptoStream(ms,encryptor.CreateEncryptor(),CryptoStreamMode.Write))
                {
                    cs.Write(clearBytes,clearBytes.Length);
                    cs.Close();
                }
                clearText = Convert.ToBase64String(ms.ToArray());
            }
        }
        return clearText;
    }  
}

以上代码用于加密.我试图获得RFC2898derivebytes的等效函数.

我试过的客观代码

-(void)doEncryption {

    NSString *url = @"www.google.com";

    const char salt[] = {0x49,0x76};

    NSData *saltData =[NSData dataWithBytes:salt length:13];

    NSData* myPassData = [EncryptionKey dataUsingEncoding:NSUTF8StringEncoding];


    unsigned char key[32];

    CCKeyDerivationPBKDF(kCCPBKDF2,myPassData.bytes,myPassData.length,saltData.bytes,saltData.length,kCCPRFHmacAlgSHA1,1000,key,32);

    unsigned char InitialVector[16];

    CCKeyDerivationPBKDF(kCCPBKDF2,InitialVector,16);


    NSString *Aeskey = [[NSString alloc] initWithBytes:key length:sizeof(key) encoding:NSUnicodeStringEncoding];
    NSLog(@"Key AES : %@",Aeskey);



    NSString *AesIV = [[NSString alloc] initWithBytes:InitialVector length:sizeof(key) encoding:NSASCIIStringEncoding];

    NSString *encryptedString =  [AESCrypt encrypt:url password:Aeskey  andIV:AesIV];


    [self doDecryption:encryptedString withKey:nil];
 }

解决方法

嘿,如果您想在ios和C#中尝试一些加密和解密,那么您可以使用此链接上给出的代码.这个对我有用.我找到了 this链接

猜你在找的C&C++相关文章