在我的一个项目中,我选择 bcrypt 或 PBKDF2 作为 KDF 的密码。我读过 bcrypt 通常更先进,而 scrypt 更好。但是我使用的是 .NET 平台,虽然 nuget 上有各种实现,但微软无法提供 bcrypt/scrypt。最后我决定使用 PBKDF2,因为它是 MS 的默认实现,希望由一些安全专家审查。
但问题是:在这种情况下,最好的行动方案是什么?是否可以从 nuget 中挑选出具有足够下载量的顶级库并相信它已经足够好,因为很多人都在使用它?那我怎么知道它是否足够好。或者如果可以的话,最好使用平台上的东西?我绝对不想自己实现这样的事情。