所有的网页查询服务在传送之前都要求用DES加密和MD5 Hashing进行数字签名,需确保内容在传输过程中不被修改。
请咨询我们如下信息:
- Secret Key 密钥
- EncrypKey 加密键
- MD5Key MD5 键
- API URL
- 游戏大厅客户端
- 大庁名称 (启动客户端时需要提供)
ASP.Net C# DES加密函数例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
protected byte[] EncryptKey = ASCIIEncoding.ASCII.GetBytes("ask_us_for_key"); public string DESEncrypt( string inString) { MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream (ms, new DESCryptoServiceProvider ().CreateEncryptor(EncryptKey, EncryptKey), CryptoStreamMode .Write); StreamWriter sw = new StreamWriter (cs); sw.Write(inString); sw.Flush(); cs.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, ( int )ms.Length); } |
PHP DES 加密函数例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php class DES { var $key; var $iv; function DES( $key, $iv=0 ) { $this->key = $key; if( $iv == 0 ) { $this->iv = $key; } else { $this->iv = $iv; } } function encrypt($str) { return base64_encode( openssl_encrypt($str, 'DES-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv ) ); } } ?> |
PHP 应用例子:
1 2 3 4 5 6 7 8 |
<?php $str = "method=GetUserStatus&Key=01234567789ABCDEF0123456789ABCDE&Time=20150101012345&Username=abcd12345"; // for example $key = 'ZyXw4321'; // for example $crypt = new DES($key); $mstr = $crypt->encrypt($str); $urlemstr = urlencode($mstr); echo "[ $str ] Encrypted: [ $mstr ] UrlEncoded encrypted string: [ $urlemstr ]"; ?> |
ASP.Net C# MD5函数例子 :
1 2 3 4 5 6 7 8 9 10 |
public string BuildMD5(string inString) { byte[] hashed = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(inString)); StringBuilder sb = new StringBuilder(hashed.Length * 2); for (int i = 0; i < hashed.Length; i++) { sb.Append(hashed[i].ToString("x2")); } return sb.ToString(); } |
PHP 应用例子:
1 2 3 4 5 6 7 8 9 |
<?php $str="method=GetUserStatus&Key=01234567789ABCDEF0123456789ABCDE&Time=20150101012345&Username=abcd12345"; // for example $md5key = "abcdefg"; // for example $Time = "20150101012345"; // for example $SecretKey = "01234567789ABCDEF0123456789ABCDE"; // for example $PreMD5Str = $str . $md5key . $Time . $SecretKey; $OutMD5 = md5($PreMD5Str); echo "md5:[ $OutMD5 ]"; ?> |