MD5加密为什么不可逆?

    果然是好记性不如记笔记啊,之前看过的知识今天被人问起来还是一点儿都想不起来了,所以想还是记一下吧!

   MD5不可逆的原因是由于它是一种散列函数(也叫哈希函数,哈希函数又称散列函数,杂凑函数,他是一个单向密码体制,即从明文到密文的不可逆映射,只有加密过程没有解密过程,哈希函数可以将任意长度的输入经过变化后得到固定长度的输出,这个固定长度的输出称为原消息的散列或消息映射。 理想的哈希函数可以针对不同的输入得到不同的输出,如果存在两个不同的消息得到了相同的哈希值,那我们称这是一个碰撞),使用的是hash算法,在计算过程中原文的部分信息是丢失了的。一个MD5理论上是可以对应多个原文的,因为MD5是有限多个而原文是无限多个的。

    MD5码128位2进制数,最多有2^128种可能但是字符串的数量显然是有无数种可能的。

你可能感兴趣的:(知识点)