Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对SHA512使用多个迭代的示例_C#_.net_Security_Cryptography - Fatal编程技术网

C# 对SHA512使用多个迭代的示例

C# 对SHA512使用多个迭代的示例,c#,.net,security,cryptography,C#,.net,Security,Cryptography,我需要一个C#的代码示例,说明如何使用随机salt和n次迭代使用SHA512生成哈希?另外,还有一个如何验证由上述方法创建的散列的代码示例。不知道“验证”是什么意思,但是System.Security.Cryptography.SHA512可以满足您的需要。请注意,.NET的实现未经FIPS验证,因此,如果您的客户打开了FIPS编译器模式,您的程序将无法运行。请检查此项,它有用于salt和使用除sha512以外的其他哈希的代码,并且有大量注释 要重新散列,您需要做的就是首先计算散列字符串,然后使

我需要一个C#的代码示例,说明如何使用随机salt和n次迭代使用SHA512生成哈希?另外,还有一个如何验证由上述方法创建的散列的代码示例。

不知道“验证”是什么意思,但是
System.Security.Cryptography.SHA512
可以满足您的需要。请注意,.NET的实现未经FIPS验证,因此,如果您的客户打开了FIPS编译器模式,您的程序将无法运行。

请检查此项,它有用于salt和使用除sha512以外的其他哈希的代码,并且有大量注释


要重新散列,您需要做的就是首先计算散列字符串,然后使用以获取十六进制编码的字符串,然后再对其进行散列。

给出的链接有一个非常详细的实现,但它没有提到对散列算法使用多次迭代的任何内容。你能举一个例子,在多次迭代中使用相同的哈希逻辑吗?对于多次迭代,听起来你想使用类似的东西。修改上面的示例以匹配RFC中描述的算法应该不难。@Mike:.NET framework内置了PBKDF2的实现,并且非常易于使用(尽管它只支持HMACSHA1):@user428468我更新了它,告诉你如何多次重新刷新字符串。@LukeH那么这是否意味着我可以像散列一样使用Rfc2898DeriveBytes生成的键(不是字面意思,而是可以用作标识符的东西)并使用它来验证用户登录?.NET中的
SHA512
类本身不会执行多轮操作。