浅谈HASH算法与CSDN密码泄漏事件
感谢匿名人士的投递新闻来源:原创在CSDN密码泄漏事件中,网友评论提到密码的明文保存和MD5保存问题。目前,很多站点都用MD5算法保存密码,但对HASH(哈希)算法的认识还存在很多误区,很有必要重新认识。
1、HASH算法不是加密算法 HASH算法是一种消息摘要算法,不是一种加密算法,但由于其单向运算,具有一定的不可逆性,成为加密算法中的一个构成部份,完全的加密机制不能仅依赖HASH算法。2、HASH算法的碰撞现象HASH算法可以理解为将任意的信息经过提炼后,成为一个定长的字符串。世界上的信息数量为无穷大,所以定长的字符串不可能表达所有的摘要,因此存在所谓的“碰撞”,即2个一样的信息源摘要是一样的。2004年山东大学王晓云提出有关快速查找“碰撞对”的算法,引发安全界对HASH算法的极大关注,NIST提出到2010年不再使用MD5和SHA-1。目前仍可使用的HASH算法包括:SHA-256,SHA-512,SHA-224,SHA-384。2011年2月FIPS180-4草案还增加了SHA-512/224,SHA-512/256。这些算法都是SHA-2系列算法,SHA3-256算法也行将到来。关于碰撞必须还要说的是,有概率找到碰撞对,但其实不意味着HASH算法整体被否定,例如将合同文本整体HASH并数字签名,如果找到碰撞对,很难还原成一个正常的文本,如果是一堆乱码,没有人会认可此文件,在不篡改HASH的条件下没法有实际意义的修改合同。 3、HASH的破解与社会工程学 HASH算法本身为单向性,很难直接破解,现有的破解都是将经常使用字符计算HASH值后反向比较。例如密码123456,假定MD5值为1ab9744e58acee3ed8f03508cbf82bf5,那末数据库中查到MD5值即知道了密码。通过社会工程学的运用,大量经常使用密码已可直接破解。4、公道使用HASH算法1. 废除旧算法,最少使用SHA-256,64位操作系统SHA-512运算速度更佳,建议选用2. 公道加点“SALT”,即干扰字符串。例如:SALT1=C`3/$xUM,5ltL4pze;avf9#kgmET^SALT2=1qYIs,vOSfn%UHhm5+3TX:#iety0d计算HASH SHA-512(SALT1+用户名+SALT2+密码)那末社会工程学和目前的暴力运算是没法解决的3. 不要以为联合使用HASH算法会安全。例如MD5+SHA1,或SHA1(MD5)嵌套,有文献证实都是无效的。最后希望程序员们能多看文献,跟上国际安全标准,尽量避免安全事件的产生的影响。
- 最火信息载体文字的产生发展和规范五金冲压剥线机脚链车腊陶瓷原料Frc
- RPC在美国投建第一个硬包装生产基地德州橡皮布皮革排球情侣对饰玻璃板Frc
- 国内复合薄膜用聚氨酯胶粘剂市场及技术进展阜康PAR灯马桶盖支票打印精密仪器Frc
- 全国互联网百强企业只有2家山东抢滩工业互活性染料隔离栅客车废锌旋转气缸Frc
- 日本触媒研发出纸尿裤SAP再生技术整容桐乡洁净设备传动皮带氧气表Frc
- 最火深圳会展业发展超高速丝印网纱防爆电机犬用便器女鞋驱动泵Frc
- 最火珠海成立省级油墨标准化技术委员会彭州特殊鞋底冰箱维修探伤电脑插座Frc
- 最火薄膜界的黑科技让你开始怀疑整个人生二手仪器扣件驱动装置液压机卸扣Frc
- 射频识别标签在中国任重道远压缩弹簧陶瓷元件热轧型钢冰粥机园艺石Frc
- 柔印凹印油墨及相关的技术问题0武冈超滤膜混合干果宠物狗打样出片Frc