2015-10-15 20 views
0

我想送KW命令泰雷茲HSM,用於現場數據的一個描述是:HSM KW命令來驗證ARQC

---------------------------------------------------------------- 
| PAN/PAN Sequence No | 8B | this field will be fixed at 8 bytes | 
---------------------------------------------------------------- 

讓說我的數據是6542000000193400

這是否意味着我必須將其從十六進制轉換爲字符?

+0

這是否意味着我已經將它從十六進制轉換爲字符? –

+1

它是一個8字節的值,即你的情況應該是0x65 0x42 0x00 0x00 0x00 0x19 0x34 0x00 –

+0

有時這種格式被稱爲BCD(二進制編碼十進制) – vlp

回答

1

是的,這意味着在將其插入命令數據之前,您需要將您的十六進制解碼爲char

你已經用十六進制寫了你的數據。所以如果你的數據真的是在你的應用程序中的十六進制數,那麼你需要十六進制解碼爲字節。字節由C/C++語言中的charunsigned char表示。

請注意,字節通常以十六進制表示給您(例如通過調試器)。所以你應該小心不要解碼實際上不是十六進制的字節。在開始之前檢查十六進制的原點和大小。

+0

謝謝你,btw因爲空值終止一個字符串,我怎麼能當我使用C代碼時可能發送空數據給HSM? –

+0

PKCS#11調用通常包含一個指定長度的參數。所以字符值被看作是字節,並且nul值是像任何其他值一樣發送的。 –

+0

關於我應該從哪裏開始PKCS#11的任何建議?有什麼好的閱讀材料? –