關(guān)於(yú)IC卡密鑰理解和修改(簡易篇)
摘要
關(guān)於(yú)IC卡密鑰理解和修改(簡易篇)
關(guān)於(yú)IC卡密鑰理解和修改(簡易篇)
常用的IC卡由於(yú)結構簡單(dān),使用方便,價格低,越來越受到普通應用的歡迎.本文主要描述普通IC卡的密鑰相關的知識.
關於(yú)IC卡的讀(dú)寫,必須使用IC卡讀(dú)寫器, 我們推薦使用NFC讀(dú)寫器YW-607HC或者IC卡讀(dú)卡器YW-605HA,不僅支持windows應用程序,也支持chrome等浏覽器web的BS架構程序,同時支持安卓和linux的開發,可以說是一款非常全面的讀(dú)卡器.
要瞭(le)解IC卡的密鑰,要從(cóng)IC卡的結構說起.
1、卡内存結構
每張卡有16個(gè)扇區,每個(gè)扇區有4個(gè)塊,每個(gè)塊有16字節(jié)。
所以卡内存字節(jié)數(shù):16*4*16=1024字節(jié)。
2、 每個扇區的最後一塊爲密鑰塊,用於(yú)保存密鑰,除瞭(le)密鑰,不能用於(yú)保存其他數據。
第0扇區的第0塊用於(yú)保存卡号等信息,是隻讀(dú)塊,所以也不能用於(yú)寫數據。
那麽實際(jì)可用内存爲:(16*3-1)*16字節(jié)=752字節(jié)
3、密鑰塊的密鑰隻能用於(yú)這個扇區的密鑰認證,所以16個塊的密鑰都是互相獨(dú)立的。
4、密鑰塊的絕(jué)對(duì)塊地址:
0扇區(qū):塊(kuài)3
1扇區(qū):塊(kuài)7
2扇區(qū):塊(kuài)11
...
15扇區(qū):塊(kuài)63
5、密鑰塊數據結構
每個(gè)塊16字節,密鑰塊也不例外,密鑰塊的數據結構(gòu)如下:
A密鑰(yào)(6字節(jié))+密鑰(yào)控制字(4字節(jié))+B密鑰(yào)(6字節(jié)),例如
FFFFFFFFFFFF FF078069 FFFFFFFFFFFF .
6、如何修改密鑰
簡單(dān)的修改密鑰就是 将6字節的A密鑰,換成你所要設置的密鑰,密鑰控制字不變(biàn), B密鑰與A密鑰保持一緻。
例如設置密鑰112233445566, 此時寫密鑰塊(kuài)112233445566 FF078069 112233445566。寫密鑰塊(kuài)api爲YW_WriteaBlock, 即可将該(gāi)扇區的密鑰修改爲112233445566。
7、BS結構(gòu)下web程序如何修改密鑰,首先還是要組織密鑰塊的16字節, 然後将這16字節寫入到密鑰塊中, 可以參(cān)考密鑰修改在線例程http://m.qclk.com.cn/CloudReader/Sample8.html


