1

以下に ObjC メソッドがあり、do を呼び出してマネージ コードに移植したいのですが、どこから始めればよいかわかりません。誰か助けてくれませんか?

- (NSData *)deriveKey
{
    NSData *passphrase = [self.passwordField.stringValue dataUsingEncoding:NSUTF8StringEncoding];
    NSData *salt = [self.saltField.stringValue dataUsingEncoding:NSUTF8StringEncoding];
    NSMutableData *key = [NSMutableData dataWithLength:kCCKeySizeAES256];
    CCKeyDerivationPBKDF(kCCPBKDF2,
                         [passphrase bytes],
                         [passphrase length],
                         [salt bytes],
                         [salt length],
                         kCCPRFHmacAlgSHA256,
                         PBKDFNumberOfRounds,
                         [key mutableBytes],
                         [key length]);
    return key;
}
4

1 に答える 1

1

.NET PKCS#5v2 ( PBKDF2 を定義)では、 を使用してサポートを利用できますRfc2898DeriveBytes。ただし、ハッシュ アルゴリズムを選択することはできません。

var salt = new byte [32]; // do not use it empty :)
var key = new Rfc2898DeriveBytes ("passphrase", salt, 1000).GetBytes (length);
于 2013-08-21T13:10:26.650 に答える