jam*_*mes 1 c# security encryption passwords hash
基于先前答案的组合,我能够解决输出哈希的适当字符的问题.我仍然遇到长度问题,因为我得到的哈希比我所遵循的文档中的预期长得多.API文档说,使用SHA512,有"FA35A0194E3BE7024CEFB1839CBFC922"作为示例参数,但是当我跑我的哈希测试仪,像"测试"一个简单的密码,以获得一个值传递到它,我得到"EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF" - 这显然是多比我需要的更长.
仅供参考,我正在使用这个:
byte[] hashedPassword = HashAlgorithm.Create("SHA512").ComputeHash(new UTF8Encoding(false).GetBytes("test"));
Console.WriteLine(BitConverter.ToString(hashedPassword).Replace("-", ""));
Run Code Online (Sandbox Code Playgroud)
希望有人在这里有比我更多的经验(不止一个).以某种方式缩小这样的值或者占用它的某个部分是正常的吗?我不确定从这里做什么.
Eri*_*ert 23
你要求512位哈希.512位是64字节.以十六进制写的64字节是128个字符.因此,我不明白为什么你认为这里出了问题.
这显然比我需要的时间长得多.
为什么这很明显?
如果它比你需要的时间长得多,那么为什么你首先要求512位哈希呢?
以某种方式缩小这样的值或者占用它的某个部分是正常的吗?
绝对不是.
我不确定从这里做什么.
聘请专业编写安全软件的专业人员,他们可以为您编写软件并培训您正确的维护.你不太了解编写安全软件是否成功.编写安全系统是您可以用任何语言做的最难的事情之一 ; 编写一个实际上可以抵御攻击的系统需要多年的培训和经验.
FIPS PUB 180-4允许截断哈希.添加截断版本的主要原因是SH512在某些CPU上比SHA256快,因此截断SHA512可能是一个有趣的选择.但是,标准对截断的哈希使用不同的初始值.这意味着你不能只是采用现成的SHA512实现并截断结果.
| 归档时间: |
|
| 查看次数: |
2873 次 |
| 最近记录: |