Untitled

 avatar
unknown
plain_text
12 days ago
1.7 kB
5
Indexable
    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