gpt4 book ai didi

ios - 如何将 NSString 散列为 SHA512

转载 作者:可可西里 更新时间:2023-11-01 17:17:53 26 4
gpt4 key购买 nike

我有一个简短的问题...我正在构建一个社交媒体网站应用程序,我需要散列密码 NSString。我将如何做到这一点?我在应用程序上有密码字段,我想对字符串进行哈希处理并在 SHA512 中对其进行编码以用于 POST 请求。提前致谢,技术达人

最佳答案

已回答:hash a password string using SHA512 like C#

但这是复制粘贴的代码:

#include <CommonCrypto/CommonDigest.h>
+ (NSString *) createSHA512:(NSString *)source {

const char *s = [source cStringUsingEncoding:NSASCIIStringEncoding];

NSData *keyData = [NSData dataWithBytes:s length:strlen(s)];

uint8_t digest[CC_SHA512_DIGEST_LENGTH] = {0};

CC_SHA512(keyData.bytes, keyData.length, digest);

NSData *out = [NSData dataWithBytes:digest length:CC_SHA512_DIGEST_LENGTH];

return [out description];
}

或者如果您更喜欢散列输出,试试这个:

+(NSString *)createSHA512:(NSString *)string
{
const char *cstr = [string cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:string.length];
uint8_t digest[CC_SHA512_DIGEST_LENGTH];
CC_SHA512(data.bytes, data.length, digest);
NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA512_DIGEST_LENGTH * 2];

for(int i = 0; i < CC_SHA512_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}

关于ios - 如何将 NSString 散列为 SHA512,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25023376/

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