我想在iOS中使用salt生成SHA512.我找到了以下代码片段来实现这一点,但我发现该CCHmac()功能适用于mac.
-(NSString *)hashString:(NSString *)data withSalt:(NSString *)salt
{
const char *cKey = [salt cStringUsingEncoding:NSUTF8StringEncoding];
const char *cData = [data cStringUsingEncoding:NSUTF8StringEncoding];
unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH];
CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
NSString *hash;
NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA256_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", cHMAC[i]];
hash = output;
return hash;
}
Run Code Online (Sandbox Code Playgroud)
如果我使用CC_SHA512()函数,那么我将如何使用salt字符串?
我错过了以下行:
#import <CommonCrypto/CommonHMAC.h>
Run Code Online (Sandbox Code Playgroud)
实际上,我的代码中已经添加了<CommonCrypto/CommonCryptor.h>.所以,初看起来,我认为不必担心导入特定的头文件.但是,我突然意识到我将不得不导入另一个头文件.
| 归档时间: |
|
| 查看次数: |
1584 次 |
| 最近记录: |