的输入值，刻意计算出相同的输出值。输入一些数据计算出散列值，然后部分改变输入值，一个具有强混淆特性的散列函数会产生一个完全不同的散列值。典型的散列函数都有非常大的定义域，比如SHA-2最高接受(2-1)/8长度的字节字符串。同时散列函数一定有着有限的值域，比如固定长度的比特串。在某些情况下，散列函数可以设计成具有相同大小的定义域和值域间的单射。在密码学中，散列函数必须具有不可逆性。
散列函数的应用.由于散列函数的应用的多样性，它们经常是专为某一应用而设计的。例如，加密散列函数假