/// <summary> /// 功能 以及 合法性验证 /// </summary> /// <param name="p_dog"></param> /// <returns></returns> public void ReadHandle(LivingDog p_dog) { int Result = p_dog.Grand_Passwd(0, "20JJSoft13"); if (Result == 0) { byte[] outByte = new byte[512]; //读取加密狗的数据 if (p_dog.Grand_Read(2, outByte) == LivingDog.LIV_SUCCESS) { string str = System.Text.ASCIIEncoding.Default.GetString(outByte).Trim('\0'); int index = str.IndexOf("\0"); if (index > 0) { str = str.Substring(0, index); } if (!IsEmptyHandle(str)) { //读取数据 string[] data = str.Split(','); this.Read(data); this.IsReadHeandle = true; } else { //数据读取失败 this.IsReadHeandle = false; } } } }
bool CanPassValie(LivingDog p_dog) { //1.密码验证 //2.合法性验证 //string pwd = "09JJSoft12"; string pwd = "20JJSoft13"; if (p_dog.Grand_Passwd(1, pwd) == LivingDog.LIV_SUCCESS) { //功能验证 读取加密狗数据 byte[] outByte = new byte[50]; if (p_dog.Grand_Read(1, outByte) == LivingDog.LIV_SUCCESS) { string strs = System.Text.ASCIIEncoding.Default.GetString(outByte).Trim('\0'); if (strs[3] == '1') //加密狗有效性验证 { //合法加密狗 this.IsPassValie = true; return(true); } else { //非法加密狗 this.IsPassValie = false; return(false); } } return(true); } return(false); }
/// <summary> /// 方法调用前保证加密狗已经成功打开(进验证有效性) /// </summary> /// <returns></returns> bool IsPassValie(LivingDog p_dog) { //1.密码验证 //2.合法性验证 //string pwd = "09JJSoft12"; string pwd = "JJSoft0912"; //string pwd = "20JJSoft13"; if (p_dog.Grand_Passwd(1, pwd) == LivingDog.LIV_SUCCESS) { //功能验证 读取加密狗数据 byte[] outByte = new byte[50]; if (p_dog.Grand_Read(1, outByte) == LivingDog.LIV_SUCCESS) { //string strs = System.Text.ASCIIEncoding.Default.GetString(outByte).Trim('\0'); string strs = System.Text.ASCIIEncoding.Default.GetString(outByte); //3.领先版 4是专业版 5是旗舰版 6是网络版 if (strs[3] == '1' || strs[4] == '1' || strs[5] == '1' || strs[6] == '1') //加密狗有效性验证 { //合法加密狗 this.Parent.ClientResult.IsPassValie = true; return(true); } else { //非法加密狗 this.Parent.ClientResult.IsPassValie = false; return(false); } } return(true); } return(false); }
public static SoftdogProtocol ValidateLocal() { var message = "验证不通过"; var result = new SoftdogProtocol(); var pwd = "JJSoft0912"; var driver = new LivingDog(); var hardware = default(LivingDog.LIV_hardware_info); var status = 0; try { status = driver.Grand_OpenDog(DogCode, 0); hardware = driver.Grand_GetHardware_info(); switch (hardware.RetCode) { case 0: if (driver.Grand_Passwd(1, pwd) == LivingDog.LIV_SUCCESS) { byte[] outByte = new byte[50]; if (driver.Grand_Read(1, outByte) == LivingDog.LIV_SUCCESS) { string strs = System.Text.ASCIIEncoding.Default.GetString(outByte); //3.领先版 4是专业版 5是旗舰版 6是网络版 if (strs[3] == '1' || strs[4] == '1' || strs[5] == '1' || strs[6] == '1') //加密狗有效性验证 { goto success; } } } break; default: break; } } catch (Exception e) { message = e.Message; } finally { driver.Grand_CloseDog(); } result.Error = true; result.Message = message; return(result); success: result.Success = true; result.SerialNumber = Encoding.Default.GetString(hardware.serialNumber); result.Error = false; return(result); }