0

私はいくつかの認証を行っており、サンプル C# コードが提供されています。これを Objective-C に変換する必要があります。サニティ チェックとして、誰かが次のコードが同等であることを確認できますか?

ありがとうございました。

C#

        // Create Byte array of password string
        ASCIIEncoding encoder = new ASCIIEncoding();
        Byte[] _secretBytes = encoder.GetBytes(password);

        // Create a new salt
        Byte[] _saltBytes = new Byte[4];
        _saltBytes[0] = (byte)(salt >> 24);
        _saltBytes[1] = (byte)(salt >> 16);
        _saltBytes[2] = (byte)(salt >> 8);
        _saltBytes[3] = (byte)(salt);

        // append the two arrays
        Byte[] toHash = new Byte[_secretBytes.Length + _saltBytes.Length];
        Array.Copy(_secretBytes, 0, toHash, 0, _secretBytes.Length);
        Array.Copy(_saltBytes, 0, toHash, _secretBytes.Length, _saltBytes.Length);

// 目標 c

    NSUInteger len = [passwordData length];
    Byte *secretBytes = (Byte*)malloc(len);
    memcpy(secretBytes, [passwordData bytes], len);

    // create new byte array for new salt
    NSInteger saltInt = [salt integerValue];
    Byte *saltBytes = (Byte*)malloc(4);
    saltBytes[0] = (Byte)(saltInt >> 24);
    saltBytes[1] = (Byte)(saltInt >> 16);
    saltBytes[2] = (Byte)(saltInt >> 8);
    saltBytes[3] = (Byte)saltInt;

    // now create a hash byte array
    NSUInteger hashLength = sizeof(secretBytes) + sizeof(saltBytes);
    Byte *hashedBytes = (Byte*)malloc(hashLength);

    // now copy the bytes over
    memcpy(hashedBytes, &secretBytes, sizeof(secretBytes));
    memcpy(hashedBytes, &saltBytes, sizeof(saltBytes));
4

0 に答える 0