<?php
$app_key = '12008678';
$secret='123456';
$timestamp=time()."000";  //这里要求生成的时间戳是13位的,不足13位的要补0
$message = $secret.'app_key'.$app_key.'timestamp'.$timestamp.$secret;
$mysign=strtoupper(hash_hmac("md5",$message,$secret)); //此处是hash_hmac的md5加密算法
setcookie("timestamp",$timestamp);
setcookie("sign",$mysign);
?> 

解决方案 »

  1.   

       void test()
            {
                string app_key = "12008678";
               string secret="123456";
               string timestamp = "0000000000000000000000000000000000000"; //你自己写 
     string message = "$secret.'app_key'.$app_key.'timestamp'.$timestamp.$secret;" //输出消息
             
          System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
              byte[] buffers=  md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes("要加密的数据"))
                    string sign  =string.Empty  ;
                    foreach(var bty in buffers)
                    {
                  sign = sign + bty.ToString("X2");
                    }
                
                //下面就是些 COOKIE 总会把
            }着忙下班了。
      

  2.   


    这里是keyedhash算法,应该用HMACMD5
      

  3.   


    改你的一下
       void test()
            {
                string app_key = "12008678";
               string secret="123456";
               string timestamp = "0000000000000000000000000000000000000"; //你自己写 
     string message = ""+app_key+","+timestamp+","+secret+"" //输出消息
             
          System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
              byte[] buffers=  md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes("要加密的数据"))
                    string sign  =string.Empty  ;
                    foreach(var bty in buffers)
                    {
                  sign = sign + bty.ToString("X2");
                    }
                
                //下面就是些 COOKIE 总会把
            }
      

  4.   

    楼上的都不是Hmac-md5呀,没处填密匙
      

  5.   


    http://technet.microsoft.com/zh-cn/library/system.security.cryptography.hmacmd5%28v=vs.85%29