在2009年编写一个普通的新应用程序时,在安全性和性能方面,最合理的摘要功能是什么?(当条件发生变化时,我怎样才能在将来确定这一点?)
当类似 的问题 被 提出之前,答案已包括SHA1,SHA2,SHA-256,SHA-512,MD5,bCrypt和河豚.
我意识到,在很大程度上,任何一个都可以工作,如果智能地使用,但我宁愿不掷骰子并随机选择一个.谢谢.
我遵循NIST/FIPS指南:
2006年3月15日:SHA-2系列哈希函数(即SHA-224,SHA-256,SHA-384和SHA-512)可能被联邦机构用于使用安全哈希算法的所有应用程序.联邦机构应该尽快停止使用SHA-1进行数字签名,数字时间戳和其他需要抗冲击的应用,并且必须在2010年之后为这些应用使用SHA-2系列哈希函数.2010年之后,联邦机构可能会仅将SHA-1用于以下应用程序:基于散列的消息验证代码(HMAC); 密钥推导函数(KDF); 和随机数发生器(RNG).无论使用何种用途,NIST都鼓励应用程序和协议设计人员将SHA-2系列哈希函数用于所有新应用程序和协议.