1、哈希算法是一类统称,可以有多种实现方法。比如采用加法、乘法、除法、位运算、查表、混合几类


2、不同的实现方法目标不同,策略倾向也不同。


比如实现加密目的就要优先考虑算法的不可逆性,即不能轻易通过哈希值推算出原始值;

对于为实现快速查找目的(如哈希表、哈希map)要优先考虑哈希值的均匀分布问题;

用于标记特征的,那么哈希值的位数一定要足够,避免被穷举


3、MD5和SHA-1是目前应用最广泛的哈希算法


4、当哈希值有冲突时,要有解决冲突的方案


5、非对称加密的算法因为执行比较慢,原始数据很大时效率低。所以往往只针对原始数据的哈希值进行加密,这样在哈希值冲突概率非常小的情况下可以认为校验哈希值等同于对原始数据进行校验。