iOS逆向之Hash算法!
本文主要介绍Hash算法 Hash介绍 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 简单来说,hash算法(即散列函数),是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。 Hash的特点 算法是公开的 对相同数据运算,得到的结果是一样的(同样的数据,得到的结果是一样的) 对不同数据运算,得到的结果是定长的,如MD5得到的结果默认是128位,32个字符(16进制标识)。 无法逆运算 是信息摘要、信息“指纹”,是用来做数据识别的、完整性检查的。 Hash用途 1、用户密码的加密 2、搜索引擎 3、版权 4、数字签名 .........





