gpt4 book ai didi

ios - pbkdf2 objective c 比较哈希

转载 作者:行者123 更新时间:2023-11-29 13:05:13 27 4
gpt4 key购买 nike

我找到了 pbkdf2 哈希算法的实现,我可以计算哈希值,但我不知道如果我登录,我如何将哈希值与密码进行比较。有人可以给我提示吗?这是我对 hasing 算法的实现

#import <CommonCrypto/CommonKeyDerivation.h>

...

// Makes a random 256-bit salt
- (NSData*)generateSalt256 {
unsigned char salt[32];
for (int i=0; i<32; i++) {
salt[i] = (unsigned char)arc4random();
}
return [NSData dataWithBytes:salt length:32];
}

...

// Make keys!
NSString* myPass = @"MyPassword1234";
NSData* myPassData = [myPass dataUsingEncoding:NSUTF8StringEncoding];
NSData* salt = [self generateSalt256];

// How many rounds to use so that it takes 0.1s ?
int rounds = CCCalibratePBKDF(kCCPBKDF2, myPassData.length, salt.length, kCCPRFHmacAlgSHA256, 32, 100);

// Open CommonKeyDerivation.h for help
unsigned char key[32];
CCKeyDerivationPBKDF(kCCPBKDF2, myPassData.bytes, myPassData.length, salt.bytes, salt.length, kCCPRFHmacAlgSHA256, rounds, key, 32);

最佳答案

PBKDF2 通常用于根据您的密码生成加密 key ;它不像您使用 MD5 那样用于散列。您如何使用它进行登录?类似于 LastPass

通常将密码(经过 salt 和 hash)发送到服务器,服务器进行比较,而不是客户端。您有不同的用例吗?

关于ios - pbkdf2 objective c 比较哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18800488/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com