我目前正在嘗試編碼IDTech加密PINpad /讀卡器(HIDUSB設備)的支持。一旦進入(或者刷或鍵控)時,設備發送XML格式的響應,其看起來如下:從加密PINpad解析XML響應時遇到問題
<DvcMsg Ver="1.1"><Dvc App="SecureKey Demo Software" AppVer="1.0" DvcType="M130-IDTECH" DvcSN="54114600381" Entry="SWIPE"></Dvc><Card CEncode="0" ETrk1="ýÚ‹çMŒ·¯×Õ³a+.7ãN2†ÖcƒTWïX¿6`Eåq1Bk_–Ø‚ÑM€œœåê`S" ETrk2="ÓÙ|•QΊkÄn`å ¤óhîõRÐ3ÌЀ{Rs¤Ì7MX¯nw" CDataKSN="P&ƒµ" Exp="0512" MskPAN="4444******4444" CHolder="PAYMENTECH" EFormat="4"></Card><Addr></Addr><Tran TranType="CREDIT"></Tran></DvcMsg>
我認識到,在ETrk1,ETrk2和CDataKSN經加密的信息屬性中包含無效字符,將停止任何XML解析器在其軌道中。有沒有辦法使用不同的字符編碼來產生每個字符的十六進制等價物,以便可以解析XML,還是需要先操縱XML字符串來完成該操作?
你用什麼編碼來獲得這個渲染?機會是一個小硬件設備將使用ASCII –
你的意思是Base-64? – GalacticCowboy
@StenPetrov - 製造商可下載的「演示」實用軟件生成此渲染。有趣的是,如果我將其實用程序配置爲鍵盤楔形,則加密的數據將以十分清晰的十六進制顯示。 –