继前篇:Licensing实例(二)
public
class
EncryptedLicense : License
...
{ private string _key; private string _productInfo; private ushort _serialNo; /**//// <summary> /// 许可证加密 /// </summary> /// <param name="key">键值</param> /// <param name="serialNo">序列号</param> /// <param name="productInfo">产品信息</param> public EncryptedLicense(string key, ushort serialNo, string productInfo) ...{ this._key = key; this._serialNo = serialNo; this._productInfo = productInfo; } /**//// <summary> /// 检查 /// </summary> /// <param name="input"></param> /// <returns></returns> public static string Checksum(string input) ...{ int num1 = (input == null) ? 0 : EncryptedLicense.HashString(input); return Math.Abs((int)(num1 % 1000)).ToString(); } public override void Dispose() ...{ } /**//// <summary> /// 哈希 /// </summary> /// <param name="szStr"></param> /// <returns></returns> private static int HashString(string szStr) ...{ int num1 = 5381; for (int num3 = 0; num3 < szStr.Length; num3++) ...{ int num2 = szStr[num3]; num1 = ((num1 << 5) + num1) ^ num2; } return num1; } /**//// <summary> /// 许可证键值 /// </summary> public override string LicenseKey ...{ get ...{ return this._key; } } /**//// <summary> /// 产品信息 /// </summary> public string ProductInfo ...{ get ...{ return this._productInfo; } } /**//// <summary> /// 序列号 /// </summary> public ushort SerialNo ...{ get ...{ return this._serialNo; } } }
转载请注明原文地址: https://ibbs.8miu.com/read-18441.html