Ⅰ 怎麼把IC卡數據讀取出來修改
不知道你用的是什麼讀寫器,一般情況,隨IC卡讀寫器,應該配送相應的API函數庫,可能是靜態的,
也可能是動態的,你在編程的時候,將相應的.LIB文件,加入你的工程,再加入相應的頭文件(隨機的盤里應該提供),如此,以可以直接調用該庫的函數,進行IC卡的讀寫。
這是改ic卡密碼的函數,使用c語言寫的,應該有所幫助:
byte Pin_Change(byte *data,byte len)
{
sint ret;
Inst.DataToCard = data;
Inst.Le =0x08;
Inst.Lc = len;
Inst.Class =0x80 ;
Inst.Instruct = 0x5e;
Inst.P1 =0x01;
Inst.P2 =0x00;
Inst.port_indx = EXT_READER;
ret = SendICC(&Inst);
if(ret>=ICC_OK)
return TRUE;
else
{
if(ret==ICC_CARD_ERROR)
{
MmiUtil_Warning((char*)msgIccOPfail);
return FALSE;
}
else
return FALSE;
}
}
Inst為ic卡指令結構,其中data為密碼信息.具體的指令,各種卡有類似的地方,但一定要廠商提供.如果沒有,可以和廠商聯系.SendICC()為發送指令的函數.如果是串口,可以使用串口指令.
Ⅱ 怎樣給ic讀卡器編程讀取ic卡
廠家賣出的RFID讀寫器已經寫好了讀取程序的 一般讀寫器應用只要根據廠商提供的代碼編寫應用程序就好
Ⅲ java如何通過串口IC讀卡器讀取IC卡號
有IC卡讀卡器的介面程序,自己編程就可以了
Ⅳ 如何用java編寫通過IC卡讀卡器讀取IC卡的程序
使用java讀卡常式,附件是YW-607讀卡器的SDK,裡面有java讀寫卡的常式讀卡器SDK
Ⅳ 在網站上如何讀取IC卡信息. 是不是要寫插件實現
在網站上如何讀取IC卡信息. 我們深圳峰華有三種方法
一、做activex插件簡單一些。步驟:
1.假設讀卡器用的是com1口,插件要做的事就是檢測com1口上的數據。2.網頁再通過介面函數獲取數據。
二、c# 網頁讀取IC卡信息
1、做一個C/S的程序 監控你的刷卡器,捕獲到IC卡號信息後 放到 資料庫 2、網頁寫個定時器 掃描庫 有就顯示出來,並且將庫信息刪除了
三、IC需要機器才能讀取數據
1、你現在需要的是拿到機器的串口號碼 2、然後跟串口做通訊就得到數據了
Ⅵ 電腦讀取ic卡晶元方法
1,讀取
我們需要外接一個NFC Reader讓Windows可以讀取NFC卡片的內容。
因為特殊原因,我們選擇了Sony rc-s380 NFC Reader。相關介紹
我們需要下載並安裝NFC Port Software,以便我們可以順利使用上述NFC Reader。
安裝之後,我們需要去Github獲取一個NFC Port Software的.Net封裝包:tijins/NfcLib
解壓並運行nfc_lib_sample之後我們可以看到這樣一個WindowFrom程序。
private string GetNfcTag(List<byte[]> cardContentList)
{
List<byte> cardBytes = new List<byte>(); foreach(byte[] rowCardContent in cardContentList)
{
cardBytes.AddRange(rowCardContent.Take(4));
} byte[] cardUid = cardBytes.Take(8).ToArray(); string cardUidStr = Utility.ByteToHex(cardUid, 0, cardUid.Length); byte[] cardMaker = cardBytes.Skip(8).Take(8).ToArray(); string cardMakerStr = Utility.ByteToHex(cardMaker, 0, cardMaker.Length); byte[] memoryBytes = cardBytes.Skip(16).ToArray(); byte lockControlByte = memoryBytes[0]; byte lockByteCount = memoryBytes[1];//how many bytes are the lock bytes
byte[] lockBytes = memoryBytes.Skip(2).Take(lockByteCount).ToArray(); int nedfLengthByteIndex = 1 + lockByteCount + 1 + 1; byte ndefLength = memoryBytes[nedfLengthByteIndex]; if (ndefLength == 0)//Tag empty
return string.Empty; byte[] ndefBytes = memoryBytes.Skip(nedfLengthByteIndex + 1).Take(ndefLength).ToArray(); byte payloadHeader = ndefBytes[0]; byte payloadTypeLength = ndefBytes[1]; byte payloadLength = ndefBytes[2]; byte[] payloadType = ndefBytes.Skip(3).Take(payloadTypeLength).ToArray(); byte[] payloadBytes = ndefBytes.Skip(3 + payloadType.Length).Take(payloadLength).ToArray(); byte languageCodeLength = payloadBytes[0]; byte[] languageCode = payloadBytes.Skip(1).Take(languageCodeLength).ToArray(); byte[] tag = payloadBytes.Skip(1 + languageCode.Length).Take(payloadLength - languageCode.Length - 1).ToArray(); string tagHex= Utility.ByteToHex(tag , 0, tag .Length); string tagStr = Encoding.UTF8.GetString(tag); return tagStr;
}