4442 IC卡簡介: 4442卡為256字節(jié)加密卡,存在讀數(shù)據(jù)、寫數(shù)據(jù)、保護(hù)數(shù)據(jù)以及密碼操作。電氣性能? ●256 8位EEPROM ? ●字節(jié)直接尋址 ? ●低地址32字節(jié)數(shù)據(jù)設(shè)不可恢復(fù)的寫保護(hù)位 ? ●32位保護(hù)位 ? ●寫數(shù)據(jù)操作結(jié)束標(biāo)志 ? ●符合7816-3標(biāo)準(zhǔn)的復(fù)位響應(yīng) ? ●字節(jié)擦除然后寫入時(shí)間:標(biāo)準(zhǔn)值25ms ? ●最少10000次的寫擦除周期 ? ●數(shù)據(jù)保存期:10年保密特性 ? ●三字節(jié)的用戶密碼?! ? ●密碼核對(duì)正確前,全部數(shù)據(jù)只可讀,不可改寫。 ? ●核對(duì)密碼正確后可以更改數(shù)據(jù),包括密碼再內(nèi)。 ? ●錯(cuò)誤計(jì)數(shù)器,初始值為3,密碼核對(duì)出錯(cuò)1次,便減1,若計(jì)數(shù)器值為0,則卡自動(dòng)鎖死,數(shù)據(jù)只可讀出,不可再進(jìn)行更改也無法再進(jìn)行密碼核對(duì);若不為零時(shí),有一次密碼核對(duì)正確,可恢復(fù)到初始值3?! ? ●寫保護(hù)區(qū)(前32個(gè)字節(jié))的每一字節(jié)可單獨(dú)進(jìn)行寫保護(hù),進(jìn)行寫保護(hù)后,內(nèi)容不可再更改(即固化數(shù)據(jù))。程序員注意事項(xiàng):1.除去寫保護(hù)區(qū)的32字節(jié),程序員可操作的只有224字節(jié),寫保護(hù)區(qū)只有一次寫如機(jī)會(huì),一般不使用?! ?.注意每次改寫密碼后,只有將卡下電后密碼才會(huì)生效?! ?.密碼為3字節(jié)也就是24個(gè)位,一般出使密碼為'255255255',轉(zhuǎn)換成16進(jìn)制為六個(gè)F即'FFFFFF' 市場(chǎng)上常用的芯片為西門子的SLE4442,也有使用國產(chǎn)復(fù)旦的FM4442和ATMEL的AM4442 常應(yīng)用與酒店門鎖及儲(chǔ)值卡系統(tǒng)應(yīng)用 明華兼容系列讀卡器操作4442卡的函數(shù) 寫操作函數(shù): swr_4442() 讀操作函數(shù): srd_4442() 測(cè)卡型函數(shù): chk_4442() 效驗(yàn)密碼函數(shù): csc_4442() 讀取密碼函數(shù): rsc_4442() 更改密碼函數(shù): wsc_4442() 讀密碼錯(cuò)誤計(jì)數(shù): rsct_4442() 寫保護(hù)位函數(shù): pwr_4442() 讀保護(hù)位函數(shù): prd_4442() 寫操作函數(shù): swr_4442() int swr_4442(int icdev, int offset, int len, unsigned char *w_string) 說明: 向指定地址寫數(shù)據(jù) 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 offset: 偏移地址,其值范圍0~255 len: 字符串長度,其值范圍1~256 w_string: 寫入數(shù)據(jù) 返回: 0 錯(cuò)誤 =0 正確 讀操作函數(shù): srd_4442() int srd_4442(int icdev, int offset, int len, unsigned char* r_string ) 說明: 從指定地址讀數(shù)據(jù) 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 offset: 偏移地址,其值范圍0~255 len: 字符串長度,其值范圍1~256 r_string: 讀出數(shù)據(jù)所存放地址指針 返回: 0 錯(cuò)誤 =0 測(cè)卡型函數(shù): chk_4442() int chk_4442(int icdev) 說明: 檢查卡型是否正確 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 返回: 0 錯(cuò)誤 =0 正確 效驗(yàn)密碼函數(shù): csc_4442() int csc_4442(int icdev, int len, unsigned char* p_string) 說明: 核對(duì)卡密碼 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 密碼個(gè)數(shù),其值為3 p_string: 密碼字符串指針 返回: 0 錯(cuò)誤 =0 密碼正確 讀取密碼函數(shù): rsc_4442() int rsc_4442(int icdev, int len, unsigned char* p_string) 說明: 讀出卡密碼 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 密碼個(gè)數(shù),其值為3 p_string: 存放密碼地址指針 返回: 0 錯(cuò)誤 =0 正確 更改密碼函數(shù): wsc_4442() int wsc_4442(int icdev, int len,unsigned char* p_string) 說明: 改寫卡密碼 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 密碼個(gè)數(shù),其值為3 p_string: 新密碼地址指針 返回: 0 錯(cuò)誤 =0 正確 讀密碼錯(cuò)誤計(jì)數(shù): rsct_4442() int rsct_4442(int icdev, int* counter) 說明: 讀出密碼錯(cuò)誤計(jì)數(shù)器值 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 counter: 密碼錯(cuò)誤記數(shù)值存放指針 返回: 0 錯(cuò)誤 =0 正確 寫保護(hù)位函數(shù): pwr_4442() int pwr_4442(int icdev, int offset, int len, unsigned char* w_string) 說明: 保護(hù)指定地址的數(shù)據(jù) 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 offset: 偏移地址,其值范圍0~31 len: 字符串長度,其值范圍1~32 w_string: 保護(hù)數(shù)據(jù),必須和卡中已存在的數(shù)據(jù)一致 返回: 0 錯(cuò)誤 =0 正確 讀保護(hù)位函數(shù): prd_4442() int prd_4442(int icdev,int len,unsigned char *r_string) 說明: 讀保護(hù)位 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 保護(hù)長度,其值為4 r_string: 存放保護(hù)標(biāo)志的地址指針; 保護(hù)位為0表示已置保護(hù),為1表示未置保護(hù) 返回: 0 錯(cuò)誤 =0 正確