我正在尝试使用 ACR122 读/写 Milfare Classic 1k NFC 卡(工厂提供)。我可以检测到卡,但无法与之通信。
几天来,我一直在网上搜索,试图找到任何类型的文档(没有成功)。
我知道这些卡是加密的,但肯定有默认密码或重置卡的方法吗?
这是我到目前为止所拥有的:
card.beginSessionWithReply { (result, error) -> Void in
print("Began card session: \(result) \(card.valid) \(card.currentProtocol)");
let aid : [UInt8] = [0xFF, 0x86, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x0, 0x00];
var data = NSData(bytes: aid, length: aid.count)
card.transmitRequest(data, reply: { (data, error) -> Void in
print("Transmit: data: \(data) error \(error)");
})
data = "Hi".dataUsingEncoding(NSUTF8StringEncoding)!;
card.sendIns(0xFF, p1: 0x00, p2: 0x00, data: data, le: nil, reply: { (data, uint, error) -> Void in
if let e = error {
if (e.code == TKErrorCode.CorruptedData.rawValue) {
print("CorruptedData");
} else {
print("error code: \(error?.code)");
}
}
print("Sendins: reply:\(data) int:\(uint) error:\(error)");
})
}
输出:
["ACS ACR122U"]
Card is valid
ATR: <3b8f8001 804f0ca0 00000306 03000100 0000006a>
Began card session: true true TKSmartCardProtocol(rawValue: 2)
error code: Optional(-2)
Sendins: reply:nil int:0 error:Optional(Error Domain=CryptoTokenKit Code=-2 "(null)")
Transmit: data: Optional(<6300>) error nil
任何建议都会很棒(包括任何能够读取/写入这些卡的 OS X 软件)。