MifareClassic class

NXP Mifare Classic. Android only -- iOS cannot talk to these tags at all, which is an Apple restriction rather than a gap in this package.

Properties

blockCount int
How many 16-byte blocks the card holds in total.
final
hashCode int
The hash code for this object.
no setterinherited
maxTransceiveLength int
The value at discovery. Call getMaxTransceiveLength for the live one.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sectorCount int
How many sectors the card holds. Sector sizes are not uniform -- see blockToSector.
final
size int
The tag's total size in bytes.
final
timeout Duration
The value at discovery. Call getTimeout for the live one.
final
type MifareClassicType
Which Mifare Classic product this is.
final

Methods

authenticateSectorWithKeyA({required int sectorIndex, required Uint8List key}) Future<bool>
Authenticates a sector with key A. Returns false when the key is wrong.
authenticateSectorWithKeyB({required int sectorIndex, required Uint8List key}) Future<bool>
Authenticates a sector with key B. Returns false when the key is wrong.
blockToSector({required int blockIndex}) Future<int>
The sector a block belongs to.
decrement({required int blockIndex, required int value}) Future<void>
Subtracts from a value block, leaving the result in the internal transfer buffer.
getBlockCountInSector({required int sectorIndex}) Future<int>
How many blocks a sector holds.
getMaxTransceiveLength() Future<int>
The largest payload transceive accepts, in bytes.
inherited
getTimeout() Future<Duration>
The current transceive timeout.
inherited
increment({required int blockIndex, required int value}) Future<void>
Adds to a value block, leaving the result in the internal transfer buffer.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
readBlock({required int blockIndex}) Future<Uint8List>
Reads one 16-byte block.
reset() Future<void>
Closes the connection to the tag and opens it again, reselecting it in the RF field.
inherited
restore({required int blockIndex}) Future<void>
Copies a value block into the internal transfer buffer.
sectorToBlock({required int sectorIndex}) Future<int>
The first block of a sector.
setTimeout(Duration timeout) Future<void>
Gives a slow tag more time before the exchange fails as lost.
inherited
toString() String
A string representation of this object.
inherited
transceive(Uint8List data) Future<Uint8List>
Sends a raw command to the tag and returns its answer.
inherited
transfer({required int blockIndex}) Future<void>
Writes the internal transfer buffer to a value block.
writeBlock({required int blockIndex, required Uint8List data}) Future<void>
Writes one 16-byte block.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

keyDefault Uint8List
The factory key, FF FF FF FF FF FF, that a sector still answers to until someone personalises it. AOSP MifareClassic.KEY_DEFAULT.
no setter
keyMifareApplicationDirectory Uint8List
The key A0 A1 A2 A3 A4 A5, which the Mifare Application Directory in sector 0 is published with. AOSP MifareClassic.KEY_MIFARE_APPLICATION_DIRECTORY.
no setter
keyNfcForum Uint8List
The key an NFC Forum formatted card uses for its NDEF sectors, D3 F7 D3 F7 D3 F7. AOSP MifareClassic.KEY_NFC_FORUM.
no setter

Static Methods

from(NfcTag tag) MifareClassic?
Returns an instance for tag, or null when the tag is not a Mifare Classic.

Constants

blockSize → const int
Bytes in one block, which is also the length readBlock returns and writeBlock wants.
size1K → const int
size of a Mifare Classic 1K, in bytes.
size2K → const int
size of a Mifare Classic 2K, in bytes.
size4K → const int
size of a Mifare Classic 4K, in bytes.
sizeMini → const int
size of a Mifare Classic Mini, in bytes.