我已经创建了这个单元测试以注意到一个奇怪的行为,你能帮助解决这里发生的事情吗?请注意第二个数组还有一个元素.
[Fact]
public void Should_Have_Different_Values()
{
byte[] saltedPasswordBytes = new byte[]{5,18,99,52,68,25,32 };
string hashedPassword1, hashedPassword2;
using (var sha256 = SHA256.Create())
{
hashedPassword1= sha256.ComputeHash(saltedPasswordBytes, 0, 3).ToBase64String();
}
saltedPasswordBytes = new byte[] { 5, 18, 99, 52, 68, 25, 32 ,50};
using (var sha256 = SHA256.Create())
{
hashedPassword2 = sha256.ComputeHash(saltedPasswordBytes, 0, 3).ToBase64String();
}
Assert.NotEqual(hashedPassword1, hashedPassword2);
}
Run Code Online (Sandbox Code Playgroud)
我不确定我在哪里弄错了但是我使用它来散列我的数据并且它似乎返回相同的值而不管盐.我在做什么问题?或哈希没有实现或什么?因为Rfc2898DeriveBytes运行良好.