密码学哈希函数:一种把任意长度的输入数据(消息)映射为固定长度输出(哈希值/摘要)的函数,常用于完整性校验、数字签名、口令存储、数据指纹等。理想的密码学哈希函数通常要求具备:难以从哈希值反推出原文(单向性)、难以找到两个不同输入产生同一输出(抗碰撞)、难以找到与给定输入同哈希的另一输入(抗第二原像)。
(注:日常也会说 “hash function”,但不一定具备密码学安全性;这里强调 cryptographic。)
/ˌkrɪptəˈɡræfɪk hæʃ ˈfʌŋkʃən/
cryptographic 来自 cryptography(密码学),源于希腊语 kryptós(隐藏的)+ gráphein(书写)。
hash 在计算机语境中指“把数据搅拌/打散成摘要”的结果或过程。
合起来 cryptographic hash function 指“用于密码学目的的摘要函数”。
A cryptographic hash function turns a file into a short fingerprint.
密码学哈希函数会把一个文件变成一个短小的“指纹”。
Even a one-bit change in the message should cause a cryptographic hash function to produce a drastically different output, which helps detect tampering in signed software updates.
即使消息只改动了一个比特,密码学哈希函数也应产生截然不同的输出,这有助于在已签名的软件更新中检测篡改。