gpt4 book ai didi

iphone - 像 C# 一样使用 SHA512 对密码字符串进行哈希处理

转载 作者:行者123 更新时间:2023-12-03 18:18:39 25 4
gpt4 key购买 nike

我正在为我的iPhone应用程序开发登录功能,因此我想使用SHA512哈希算法对密码进行哈希处理,然后将结果获取为NSString(结果应该与C#中的SHA512相同)。在网上花了很多时间,仍然没有找到解决方案! :(

谁有解决方案和示例代码,请帮帮我!非常感谢!

[更新]在我的 C# 代码中,密码是使用 SecureString 存储的,所以可能是因为在 Objective-C 和 C# 之间创建了不同的字节数组

最佳答案

此函数将使用 SHA512 对字符串进行哈希处理。生成的字符串是哈希值的十六进制表示:

+ (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];
}

不要忘记包含正确的 header :

#include <CommonCrypto/CommonDigest.h>

关于iphone - 像 C# 一样使用 SHA512 对密码字符串进行哈希处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3829068/

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