Ett smartkort är ett kort som kan vara kapabelt till datalagring, eller kan också ha en mikroprocessor och därför i huvudsak vara en miniatyrdator och kunna databearbeta. De maximala specifikationerna för smartkort inkluderar 8 kb (kilobyte) RAM, 346 kb ROM och 256 kb ROM som är programmerbar, tillsammans med en 16-bitars mikroprocessor. En smartkortsprogrammerare är en enhet för programmering av smartkort.
Det finns ett växande antal användningsområden för smartkort. De kan användas i datorsäkerhetssystem, till exempel i smartkorttangentbord eller i byggnader. De kan fungera som kreditkort, elektroniska kontanter eller bankkort. De kan också användas i lojalitetssystem eller som id-kort. Den exakta användningen som är planerad för smartkorten kommer att diktera hur smartkortsprogrammeraren är inställd för att formatera dem.
Några av de beslut som måste fattas innan smartkortsprogrammeraren sätts i arbete involverar att bestämma om kortet kommer att användas en gång eller flera, om det kommer att behålla registerinformation eller värde, och om en del eller all data på kortet måste förvaras säkert. Beslut om kryptering och validering för att komma åt kortet, såsom lösenord eller PIN-nummer, är också viktiga att fatta innan man bestämmer sig för lämplig smartkort- och smartkortsprogrammerare att använda och se till att kortet och programmeraren är kompatibla. En annan viktig fråga är språket som kommer att användas för att programmera korten: medan vissa kort är programmerade i JAVA, är andra programmerade i BASIC eller andra språk.
Ett annat viktigt övervägande när du väljer smartkortsprogrammerare och en av de viktigaste skillnaderna mellan modellerna, är om det är en kontaktsmartkortsprogrammerare eller en kontaktlös smartkortsprogrammerare. Ett smart kontaktkort är ett som måste sättas in i en läsare. Ett kontaktlöst smartkort, å andra sidan, har en radiofrekvensidentifieringsbricka (RFID) inbäddad, och – så länge det kommer inom ”läsområdet” – kan kommunicera med en smartkortläsare på avstånd.
Vissa smartkortsprogrammerare är gjorda för att fungera med många typer av smartkort, medan vissa är konfigurerade för endast en specifik typ. Vissa är avsedda för kort som kommer att betalas ut och vissa är designade för användning på plats under omständigheter där nykodning och/eller tillägg av nya användare är pågående problem. Dessutom tillhandahålls vissa smartkortsprogrammerare i ett fodral som kan fungera som en läsare och som inkluderar ett batteripaket, en skyddande täckplatta och andra skydds-, hållbarhets- och funktionella funktioner. Andra tillhandahålls som ett kretskort till vilket ett fodral, en seriell kabel och ett 9-volts DC-batteri måste läggas till för funktionalitet och för att skydda programmeraren. Å andra sidan säljer den första typen för över $1000 US Dollars (USD), medan den senare är mindre än $25 USD.