hmacphp
① php hash_hmac如何解密
hmac算法的主体还是散列函数,散列算法本身是抽取数据特征,是不可逆的。
所以“再得到aaa”——“逆运算获得原数据”这种想法,是不符合hmac设计初衷,可以看成是对hmac安全性的直接挑战,属于解密,属于误用。
类似的需求,应该使用AES加密算法实现
② PHP 函数hash_hmac()怎么用
hash_hmac — 使用 HMAC 方法生成带有密钥的哈希值
stringhash_hmac(string$algo,string$data,string$key[,bool$raw_output=false])
参数:
algo:要使用的哈希算法名称,例如:"md5","sha256","haval160,4" 等。
data:要进行哈希运算的消息。
key:使用 HMAC 生成信息摘要时所使用的密钥。
raw_output:设置为 TRUE 输出原始二进制数据, 设置为 FALSE 输出小写 16 进制字符串。
返回值:
如果 raw_output 设置为 TRUE, 则返回原始二进制数据表示的信息摘要,否则返回 16 进制小写字符串格式表示的信息摘要。
如果 algo 参数指定的不是受支持的算法,返回 FALSE。
③ HMAC-SHA1算法 php怎么写
HMAC-SHA1算法 php怎么写
09-1-25</span></p>
</div>
<div class="b bt2"><div class="bt bg1 ft"><img alt="回答" height="16" src="/static/img/ico2.gif" width="16"/>回答</div></div>
<p class="ft bb">我有一个sha1的加密函数,是javascript的
在google code上无意搜到,与PHP的sha1做过对比试验,是100%正确的。
var hexcase=0;
var b64pad="=";
var chrsz=8;
function sha1(s){return binb2hex(core_sha1(str2binb(s),s.length*chrsz));}
function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length*chrsz));}
function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length*chrsz));}
function hex_hmac_sha1(key,data){return binb2hex(core_hmac_sha1(key,data));}
function b64_hmac_sha1(key,data){return binb2b64(core_hmac_sha1(key,data));}
function str_hmac_sha1(key,data){return binb2str(core_hmac_sha1(key,data));}
function sha1_test()
{
if(sha1("abc")=="")document.getElementById("cipher").style.display="inline";
}
function sha1sumbit()
{
platnost=newDate;
platnost.setTime(platnost.getTime() (86400000*365));
if(document.login.xcipher.checked)
{
document.cookie="js_cipher=1;expires=" platnost.toGMTString();
if(document.login.password.value