public bool hmac_md5( string timespan, password,255);">ref outdigest)
{
byte[] b_tmp;
[] b_tmp1;
string szRet = .Empty;
if (password ==null|| password.Length <1)
{
returnfalse;
}
[] digest new[512];
[] k_ipad 64[] k_opad [] source System.Text.ASCIIEncoding.ASCII.GetBytes(password);
System.Security.Cryptography.MD5 shainner
MD5CryptoServiceProvider();for (int i 0; i ; i++)
{
k_ipad[i]
^0x36;k_opad[i]
0x5ctry(source.Length >)
{
shainner
MD5CryptoServiceProvider();source
shainner.ComputeHash(source);}
source.Length; i)
{
k_ipad[i]
)(source[i] );k_opad[i]
);}
b_tmp1
System.Text.ASCIIEncoding.ASCII.GetBytes(timespan);b_tmp
adding(k_ipad, b_tmp1);shainner
MD5CryptoServiceProvider();digest
shainner.ComputeHash(b_tmp);b_tmp
adding(k_opad, digest);shainner
shainner.ComputeHash(b_tmp);// for (int i = 0; i < digest.Length; i++)
{
outdigest System.Text.ASCIIEncoding.ASCII.GetString(digest);[i].ToString();
} truecatch (Exception e)
{
outdigest
e.Message.ToString();
}
/***
* * 填充byte
**
*/byte [] adding( [] a,0);">[] b)
[] c [a.Length + b.Length];
a.CopyTo(c,
); b.CopyTo(c, a.Length);
c;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。