IC卡通不过密码验证
大致的步骤是
A、选定要操作的扇区(共有16个扇区);
B、装载密码,调用rf_load_key()
C、验证密码,调用rf_authentication()
D、进行操作,包括读写及值操作。
E、调用rf_halt()
我现在能加载密码,但是总是通不过验证。现在我写死的密码是_Key = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },不知道是不是这些写,还是从哪里读出密码再加载。但是不通过验证就不能读卡里的数据。。。请做过这方面程序的朋友帮帮忙。。我用的是明华KRF35读卡器,M1射频卡。
byte[] _Key = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; byte sector = 0; string strErrMsg = string.Empty; for (int i = 0; i < 16; i++) { if (rf_load_key(icDev, byteCardFindMode, sector, _Key) != 0) { strErrMsg += sector.ToString() + "扇区装载密码失败\r\n"; } else { if (rf_authentication(icDev, byteCardPwdMode, sector) == 0)//进行验证 { if (rf_read(icDev, (byte)(sector * 4 + 1), ref _Data) == 0) { DisplayInfo(rtbICCard, System.Text.Encoding.Default.GetString(_Data));//将读出的信息显示到RichTextBox中 } } else { strErrMsg += sector.ToString() + "扇区密码验证失败\r\n"; } } sector++; } //如果有错误信息则提示 if (strErrMsg != "") { MessageBox.Show(strErrMsg,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error); bolIsICCardFound = false; rf_halt(icDev); }