hash(哈希)算法、MD5都属于单向散列函数。不同的是,不同源数据的hash算法结果可能相同,而MD5不会相同。即:hash是多对一函数,md5属于一对一函数。MD5一般用于数据的可信性校验,有时也用于密码的单向加密(但是现在这种加密结果可以被破解)。
hash(散列函数)用于安全用途就要求难以从函数值还原信息且碰撞概率均一低;
注意任何从Σ*映射到有限离散空间的函数都必然存在碰撞值,安全单向散列函数也不例外;
MD5多年前被设计用于安全用途,是一种计算方便,碰撞概率极低的hash算法,不过现在已经不安全了。