1
我有下面的ObjC方法,我想調用它將其移植到託管代碼,但不知道從哪裏開始。有人可以協助嗎?CCKeyDerivationPBKDF如何轉換爲Xamarin.iOS?
- (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;
}
我知道一個。忘了提及它。它根據文檔使用SHA1,所以它沒有任何幫助。任何機會我可以調用本地方法? – Krumelur
'CCKeyDerivationPBKDF'是一個** C ** API,您需要p /調用它。另一種方法是複製/粘貼Mono的'Rfc2898DeriveBytes'源代碼並使其適用於任何'HashAlgorithm'(或硬編碼到'SHA256')。以前更容易,後來更有用於跨平臺支持。 – poupou
而託管密鑰的結果與本機相同嗎? – Krumelur