Hash,一般翻译做“散列”,也(yě)有(yǒu)直接音译为“哈(hā)希”的,就是把任意(yì)长度(dù)的输入(又叫做预映(yìng)射, pre-image),通过散列(liè)算法,变换成固定长度的输出,该(gāi)输(shū)出(chū)就是散列值。这种转换是一种压缩映射,也(yě)就是(shì),散列(liè)值的(de)空间通常远(yuǎn)小于输(shū)入的空间(jiān),不同(tóng)的输入(rù)可能会散(sàn)列成相同的输(shū)出,而不可(kě)能从散(sàn)列值来唯一的确(què)定(dìng)输入值。简单(dān)的(de)说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
