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