Untitled
public String getCheckSum(String nodeId, String processId){ String output; String sumaCRC8; Binary Tabela; // tworzymy tabele binarną String a = nodeId; Tabela = Binary.fromStringWithCodec(a, "UTF-8") ; // podstawiamy do tabeli ciąg binarnie zapisanych znaków z naszej kopi wyniku w kodowaniu UTF-8 Binary Tabela2; // Tworzymy druga tabele która jest kluczem potrzebnym do szyfrowania i rozszyfrowywania // Podstawiamy do niej wartości które dostaliśmy od NFK (tego używa contman Tabela2 = Binary.fromHex("00070E091C1B1215383F363124232A2D70777E796C6B6265484F464154535A5DE0E7EEE9FCFBF2F5D8DFD6D1C4C3CACD90979E998C8B8285A8AFA6A1B4B3BABDC7C0C9CEDBDCD5D2FFF8F1F6E3E4EDEAB7B0B9BEABACA5A28F88818693949D9A2720292E3B3C35321F18111603040D0A5750595E4B4C45426F68616673747D7A898E878095929B9CB1B6BFB8ADAAA3A4F9FEF7F0E5E2EBECC1C6CFC8DDDAD3D4696E676075727B7C51565F584D4A4344191E171005020B0C21262F283D3A33344E49404752555C5B7671787F6A6D64633E39303722252C2B0601080F1A1D1413AEA9A0A7B2B5BCBB9691989F8A8D8483DED9D0D7C2C5CCCBE6E1E8EFFAFDF4F3"); Integer val = 0; Integer b; for(int i =0; i < Tabela.Length ; i ++) { b = Tabela[i]; val.binaryXor(b); val.binaryAnd(255); val = Tabela2[val]; if(val>128) {val = val-256;} } val.binaryAnd(255); a += "-"+ val.toString(0,false,16); // do naszego wyniku dodajemy zmienna val którą konwerujemy na hex stringa sumaCRC8 = val.toString(0,false,16); // podstawiamy do Kodu kreskowego prawidłową OSTATECZNĄ wartość output = processId+","+sumaCRC8+"-"+nodeId; return output; }
Leave a Comment