在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
from:http://blog.csdn.net/ciaos/article/details/12618487 PHP代码示例如下 <?php $res1 = hash_hmac("sha1","signatureString", "secret");
echo $res1."\n"; //ee1b654aa861c41fd5813dc365ef106c9801f8f6 echo base64_encode($res1)."\n"; //ZWUxYjY1NGFhODYxYzQxZmQ1ODEzZGMzNjVlZjEwNmM5ODAxZjhmNg== $res2 = hash_hmac("sha1","signatureString", "secret", true); //echo "$res2\n";//binary byte[] $data = unpack('C*', $res2); print_r($data); /* Array ( [1] => 238 [2] => 27 [3] => 101 [4] => 74 [5] => 168 [6] => 97 [7] => 196 [8] => 31 [9] => 213 [10] => 129 [11] => 61 [12] => 195 [13] => 101 [14] => 239 [15] => 16 [16] => 108 [17] => 152 [18] => 1 [19] => 248 [20] => 246 ) */ echo base64_encode("$res2\n"); //7htlSqhhxB/VgT3DZe8QbJgB+PYK ?> C#代码示例如下 using System;
using System.IO; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; namespace ConsoleApplication1 { class Program { private Object hash_hmac(string signatureString, string secretKey, bool raw_output = false) { var enc = Encoding.UTF8; HMACSHA1 hmac = new HMACSHA1(enc.GetBytes(secretKey)); hmac.Initialize(); byte[] buffer = enc.GetBytes(signatureString); if (raw_output) { return hmac.ComputeHash(buffer); } else { return BitConverter.ToString(hmac.ComputeHash(buffer)).Replace("-", "").ToLower(); } } static void Main(string[] args) { Program p = new Program(); String res1 = (String)p.hash_hmac("signatureString", "secret"); Console.WriteLine(res1); //ee1b654aa861c41fd5813dc365ef106c9801f8f6 Console.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes(res1))); //ZWUxYjY1NGFhODYxYzQxZmQ1ODEzZGMzNjVlZjEwNmM5ODAxZjhmNg== byte[] ret = (byte[])p.hash_hmac("signatureString", "secret", true); for (int i = 0; i < ret.Length; i++) { Console.Write(ret[i] + " "); } //238 27 101 74 168 97 196 31 213 129 61 195 101 239 16 108 152 1 248 246 Console.WriteLine(); Console.WriteLine(Convert.ToBase64String(ret)); //7htlSqhhxB/VgT3DZe8QbJgB+PY= } } }
|
请发表评论