Zdravim.
Potreboval by som trosku poradit.
Popis zadania. Zober si kniznicu DLL na sifrovanie. Inicializuj, podpis kluc a potom dostanes vysledok. Easy. Nacitam DLL Pripojim sa inicializujem , registrujem.
Problem je ked chcem podpisovat kluc.
Toto je example ako to chlapik pouziva v C
typedef struct tTagData
{
u64_t ddwUID;
u8_t data[DFSD_DATA_BLOCK_SIZE];
u8_t signedData[DFSD_DATA_BLOCK_SIG_SIZE];
} tagData_t;
tagData_t myTagData;
u8_t abDummyBlockData1[DFSD_DATA_BLOCK_SIZE]={
0x00, 0x00, 0x00, 0x00, //reg7
0x50, 0xa0, 0x00, 0x00, //reg8
0x61, 0x03, 0x00, 0x7d, //reg9
0xf3, 0xbd, 0x8f, 0xe5, //reg10
0x25, 0x81, 0x9c, 0x20, //reg11
0x00, 0x00, 0x00, 0x00, //reg12
0x41, 0x41, 0x30, 0x30, //reg13
0x31, 0x32, 0x36, 0x31, //reg14
0x00, 0x00, 0x00, 0x00 //reg15
};
myTagData.ddwUID = (u64_t)0xD0021F673FC988F0;
memcpy(myTagData.data,abDummyBlockData1,DFSD_DATA_BLOCK_SIZE);
iRetval = SignData(myTagData);
Cisto teoreticky aj ked bude vsetko 0 by mi kluc mal nieco vratit. Minimalne chybovu hlasku. Nech tam poslem co len chcem vzdy mi to vzhaduje internu chybu kluca. Clovek ktory pisal tu dll mi tvrdil ze je zla dlzka vstupnych dat (bytearray) to som riesil tak ze mam natvrdo retazec plny 0 o dlzke ako si predstavuje a ten posielam do tej funkcie. Samozerejme ze to nefunguje. On ma presviedca ze je chyba na 100% v pythone "lebo mne to funguje".
Co ja mam v mojom programe je jednoducho string a potom .encode a dostanem bytearray. Vedel by mi niekto poradit co moze byt zle pripadne napisat kusok kodu ako by to riesil on? Uz sa s tym trapim tyzden a vyskusal som co ma napadlo ale ani za pana to nechce fungovat.
Fakt budem rad za kazdu radu.