⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 authiq.cs

📁 材料内容丰富可供学习参考图书馆资源并且内容很全的代码
💻 CS
字号:
using System;
using System.Xml;
using System.Xml.Serialization;
using System.Security.Cryptography;
using gowk.core.packets;
namespace gowk.core.packets.IQ
{
	[XmlRoot("iq")]
	[System.Serializable]
	public class AuthIQ:IQ
	{
		public class AuthIQSerializerHelper:IQSerializerHelper
		{
			public override Type Target
			{
				get
				{
					return typeof(Packet);
				}
			}
			public override bool CanSerizlize(XmlElement xe)
			{
				return base.CanSerizlize (xe)&&xe.GetElementsByTagName("query",Namespace.AUTH)!=null;
			}
			public override XmlAttributeOverrides Overrides
			{
				get
				{
					XmlAttributeOverrides ovs=base.Overrides;
					XmlAttributes attrs = new XmlAttributes();
					XmlElementAttribute attr = new XmlElementAttribute();
					attr.ElementName = "query";
					attr.Type = typeof(AuthQuery);
					attrs.XmlElements.Add(attr);
					XmlAttributeOverrides attrOverrides = new XmlAttributeOverrides();
					attrOverrides.Add(typeof(RosterQuery), "Items", attrs);
					return base.Overrides;
				}
			}
		}
		public class AuthQuery:Query
		{
			string u,p,d,r;
			[System.Xml.Serialization.XmlElement("username")]
			public string Username
			{
				get{return u;}
				set{u=value;}
			}
			[System.Xml.Serialization.XmlElement("password")]
			public string Password
			{
				get{return p;}
				set{p=value;}
			}
			[System.Xml.Serialization.XmlElement("digest")]
			public string Digest
			{
				get{return d;}
				set{d=value;}
			}
			[System.Xml.Serialization.XmlElement("resource")]
			public string Resource
			{
				get{return r;}
				set{r=value ;}
			}
			public void SetDigest(string stream_id,string pass)
			{				SHA1 sha = SHA1.Create();				byte[] hash = sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(stream_id+pass));
				string di=System.BitConverter.ToString(hash);
				di=di.Replace("-","");
				this.d=di.ToLower();
				this.p=null;
			}
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -