口令被轻松攻击的主要原因在于口令过短。如果口令很长,则计算所有组合的消息摘要可能要成百上千年,这将大大加大了生成字典的难度。同时口令过长也给用户带来了不便记忆的麻烦,因此用户使用的口令长度总是有限的。本实例将介绍如何使用加盐技术在有限的口令长度上防止字典式攻击。
MD5加密较为安全的原因是,攻击者即使通过攻击得到了密码,也难以通过该值反推出口令的值,因而无法登录系统。但是当口令的安全系数比较弱时,也就是说口令的位数很少时,攻击者很容易通过字典式攻击由密码反推出原有口令的值。
消息摘要是对原始数据按照一定算法进行计算得到的计算结果,它主要用于检验原始数据是否被修改过。消息摘要和加密是不同的,从加密的结果可以得到原始数据,而从消息摘要中不可能得到原始数据。本实例演示了在简单的编程中,计算出指定字符串的消息摘要。