本页使用了标题或全文手工转换

散列

维基百科,自由的百科全书
跳转至: 导航搜索

雜湊英语:Hashing)是電腦科学中一種对資料的处理方法,通过某种特定的函数/算法(称为雜湊函数/算法)将要检索的项与用来检索的索引(称为雜湊,或者雜湊值)关联起来,生成一种便于搜索的資料結構(称为雜湊表)。也译为散列。旧译哈希(误以为是人名而采用了音译)。它也常用作一种資訊安全的實作方法,由一串資料中經過雜湊演算法(Hashing algorithms)計算出來的資料指紋(data fingerprint),經常用來識別檔案與資料是否有被竄改,以保證檔案與資料確實是由原創者所提供。

如今,雜湊演算法也被用來加密存在資料庫中的密碼(password)字串,由於雜湊演算法所計算出來的雜湊值(Hash Value)具有不可逆(無法逆向演算回原本的數值)的性質,因此可有效的保護密碼。

雜湊函數[编辑]

雜湊函數是从某一类資料中提取的一个小的数字指纹”。

使用雜湊的方式包括:

信息安全领域使用
一种使用雜湊函数将键名键值关联起来的資料結構
一种常常使用散列表来实现的数据结构
寻找相同或相似的几何形状的一种有效方法

目前常見的雜湊演算法[编辑]

演算法名稱 輸出大小(bits) 內部大小 區塊大小 長度大小 字符尺寸 碰撞情形
HAVAL 256/224/192/160/128 256 1024 64 32
MD2 128 384 128 No 8 大多數
MD4 128 128 512 64 32
MD5 128 128 512 64 32
PANAMA 256 8736 256 32
RadioGatún Arbitrarily long 58 words 3 words 1-64
RIPEMD 128 128 512 64 32
RIPEMD-128/256 128/256 128/256 512 64 32
RIPEMD-160/320 160/320 160/320 512 64 32
SHA-0 160 160 512 64 32
SHA-1 160 160 512 64 32 有缺陷
SHA-256/224 256/224 256 512 64 32
SHA-512/384 512/384 512 1024 128 64
Tiger(2)-192/160/128 192/160/128 192 512 64 64
WHIRLPOOL 512 512 512 256 8