比如一个密码进行MD5加密之后储存起来,可是别人非法获取数据库之后,如果知道它是用md5加密的,那不是也可以进行解密吗,那加密不是形同鸡肋吗?
MD5 没有 decode 一说。。。你仔细看我的回答,MD5 是只保留原信息的一部分的,你是没有办法从一部分信息中复原完整的原信息,就像只给你一幅画的上半部分 ( MD5 加密后的信息 ),你是没办法得出画的全部样子的 ( 被加密的信息 )。
你有没有发现MD5 加密之后的长度是一样的,不管原本的信息有多长?这是因为 MD5 是摘要算法,有点类似于从你要加密的信息中选取一部分信息出来加密,所以即使你得到了 MD5 加密之后的结果,也很难从一部分信息中反推出原本的完整信息。另外,MD5 也是存在被破解的情况,那就是最传统的破解方法,从一堆数据中一个个去试。所以, MD5 可以设置一个盐值,类似于干扰信息,可以降低被破解的概率。