gpt4 book ai didi

C#/Java/Ruby - 密码哈希算法 - 跨语言/平台

转载 作者:行者123 更新时间:2023-12-02 08:30:54 24 4
gpt4 key购买 nike

如果以后您可能知道 Java 和 Ruby 程序也可能需要“登录”/验证用户身份,那么 C# 中可以使用什么好的密码哈希算法呢? .NET 中任何开箱即用的东西都可以很好地转换为其他语言并且易于使用。

最佳答案

NSA/NIST 标准化的最强加密哈希算法是 SHA-512。

请务必使用每个密码的随机盐(由加密性强的随机数生成器生成的 128 位盐是好的)。或者,更好的是,确保使用每个密码的随 secret 钥(同样由 cryptorandom 生成),并使用 HMAC-SHA-512。请务必使用多次迭代 - 4096 和 65,536 是很好的整数(2^12 和 2^16)。

let h = get_hash_hunction("SHA-512")
let k = get_key_for_user("Justice")
let hmac = get_hmac(h, k)
let test = get_bytes("utf-8", http_request_params["password"])
for(i in 0 .. (2^16 - 1))
let test = run_hmac(hmac, test)
return test == get_hashed_password_for_user("Justice")

关于C#/Java/Ruby - 密码哈希算法 - 跨语言/平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3371660/

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