有谁能详解函数
hash_hmac(‘sha512’, $data, $key)
具体运行过程。其实,我对这个函数理解有些疑问:按我的理解,哈希(Sha512)是对$data求散列值,怎么这里多出一个$key呢?$key按函数解释来说,就是作为密码,进行验证,验证的话就要求计算可逆,难不成Sha512计算可逆?(我的理解:Sha512本质是一元计算,如:shna512($data),就是只需要一个参数,且计算不可逆)
hash_hmac(‘sha512’, $data, $key)
具体运行过程。其实,我对这个函数理解有些疑问:按我的理解,哈希(Sha512)是对$data求散列值,怎么这里多出一个$key呢?$key按函数解释来说,就是作为密码,进行验证,验证的话就要求计算可逆,难不成Sha512计算可逆?(我的理解:Sha512本质是一元计算,如:shna512($data),就是只需要一个参数,且计算不可逆)
虽然 shna512($data) 是不可逆的,但是如果我记录下所有可能的 $data 对应的 shna512($data)
那么我就可以从 shna512($data) 的结果反向查询到 $data
如果增加一个 $key 的话,反查的难度就将成几何级数增长
求帮查下:a,b为小写
hash_hmac(‘sha512’, 'a', 'b')
的值?