EncodeStr = URLEncoding(Base64(Encrypt(SpNumber + “$”+ UserNumber + “$”+ ServiceTag + “$”+ AccessTime )))
URLEncoding是指对BASE64编码中的HTML控制码进行转义的过程,其具体实现参见RFC1738。
Encrypt加密算法采用3-DES算法,密钥为64位。
调用示例:
http://www.unispms.com/subscription/servicepull.aspx?SPNumber=30165&AccessTime=2004-01-01 10:10:10&EncodeStr=KIQWNWEQREQWK921343KJ
 HTTP点播调用返回参数
SP调用HTTP点播接口后,返回调用结果。
A. 处理成功:返回“OK”。
B. 处理失败:返回“Error$” + 错误码。问题现在我呀在 C#。NET 里写。 在C#里那位高手写过。
URLEncoding是指对BASE64编码中的HTML控制码进行转义的过程,其具体实现参见RFC1738。
Encrypt加密算法采用3-DES算法,密钥为64位。
调用示例:
http://www.unispms.com/subscription/servicepull.aspx?SPNumber=30165&AccessTime=2004-01-01 10:10:10&EncodeStr=KIQWNWEQREQWK921343KJ
 HTTP点播调用返回参数
SP调用HTTP点播接口后,返回调用结果。
A. 处理成功:返回“OK”。
B. 处理失败:返回“Error$” + 错误码。问题现在我呀在 C#。NET 里写。 在C#里那位高手写过。
解决方案 »
- C# 实现P2P 桌面共享【高分悬赏】
- 学C#何时可以编出一般的win应用程序?
- .NET Framework 2.0的,一个DataTable如何根据某一列排序?(不需要用到DataView)
- 两个datagridview的数据绑定与传值
- 求installshield 10安装包打包过程
- 急急急!!!怎么用WORD的document对象的open方法打开一个Word文档
- 大家帮忙DataGrid排序后传值给ComboBox问题 急急!!!
- C#中如何在数据库中某表有变化时,立刻触发某刷新界面事件??
- 不太理解这个DataViewRowState
- 我欲成立个C#专版块,谁愿来和我一起当版主?
- HELP ME ! HELP ME!!!
- 谁会用C#写把视频截取图片的程序,最好能有个Demo(只有70分了,全部奉上)
/*************************************************************************
* Copyright(C) 2004-2005 ******** All Rights Reserved.
************************************************************************/using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;
using System.Web;
using System.Windows.Forms;
/// <summary>
/// Triple Data Encryption Standard algorithms implementations
/// </summary>
/// <Author>Yao</Author>
/// <Date>2005/4/20</Date>public class CryptionData
{
// The length of Encryptionstring should be 24 byte and not be a weak key
private string EncryptionString; // The length of initialization vector should be 8 byte
private static Byte[] EncryptionIV = Encoding.Default.GetBytes("abcdefgh"); /// <summary>
/// Constructor
/// </summary>
public CryptionData()
{
} /// <summary>
/// Constructor
/// </summary>
/// <param name="EncryptionString">SecureKey</param>
public CryptionData(string EncryptionString)
{
this.EncryptionString = EncryptionString;
} /// <summary>
/// Encryption method for byte array
/// </summary>
/// <param name="SourceData">source data</param>
/// <returns>byte array</returns>
public byte[] EncryptionByteData(byte[] SourceData)
{
byte[] returnData = null;
try
{
// Create TripleDESCryptoServiceProvider object
TripleDESCryptoServiceProvider desProvider = new TripleDESCryptoServiceProvider(); // Set SecureKey and IV of desProvider
byte[] byteKey = Encoding.Default.GetBytes(EncryptionString);
desProvider.Key = byteKey;
desProvider.IV = EncryptionIV;
// A MemoryStream object
MemoryStream ms = new MemoryStream();
// Create Encryptor
ICryptoTransform encrypto = desProvider.CreateEncryptor();
// Create CryptoStream object
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
// Encrypt SourceData
cs.Write(SourceData,0,SourceData.Length);
cs.FlushFinalBlock();
// Get Encryption result
returnData = ms.ToArray();
}
catch(Exception ex)
{
throw ex;
}
return returnData; } /// <summary>
/// Decryption method for byte array
/// </summary>
/// <param name="SourceData">source data</param>
/// <returns>byte array</returns>
public byte[] DecryptionByteData(byte[] SourceData)
{
byte[] returnData = null;
try
{
// Create TripleDESCryptoServiceProvider object
TripleDESCryptoServiceProvider desProvider = new TripleDESCryptoServiceProvider(); // Set SecureKey and IV of desProvider
byte[] byteKey = Encoding.Default.GetBytes(EncryptionString);
desProvider.Key = byteKey;
desProvider.IV = EncryptionIV;
// A MemoryStream object
MemoryStream ms = new MemoryStream();
// Create Decryptor
ICryptoTransform encrypto = desProvider.CreateDecryptor();
// Create CryptoStream object
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write); // Decrypt SourceData
cs.Write(SourceData, 0, SourceData.Length);
cs.FlushFinalBlock();
// Get Decryption result
returnData = ms.ToArray();
}
catch(Exception ex)
{
throw ex;
}
return returnData;
} /// <summary>
/// Encryption method for string
/// </summary>
/// <param name="SourceData">source data</param>
/// <returns>string</returns>
public string EncryptionStringData(string SourceData)
{
try
{
// Convert source data from string to byte array
byte[] SourData = Encoding.Default.GetBytes(SourceData); // Encrypt byte array
byte[] retData = EncryptionByteData(SourData); // Convert encryption result from byte array to Base64String
return Convert.ToBase64String(retData, 0, retData.Length);
}
catch(Exception ex)
{
throw ex;
}
} /// <summary>
/// Decryption method for string
/// </summary>
/// <param name="SourceData">source data</param>
/// <returns>string</returns>
public string DecryptionStringdata(string SourceData)
{
try
{
// Convert source data from Base64String to byte array
byte[] SourData = Convert.FromBase64String(SourceData); // Decrypt byte array
byte[] retData = DecryptionByteData(SourData); // Convert Decryption result from byte array to string
return Encoding.Default.GetString(retData, 0, retData.Length);
}
catch(Exception ex)
{
throw ex;
}
}
}