日期:2014-05-17  浏览次数:20995 次

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)
                                    {