Как я могу использовать CRC / CR C libs в python? - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь использовать алгоритм контрольной суммы CR C в своем коде (python), но я столкнулся с несколькими трудностями. Я попытался реализовать алгоритм CR C самостоятельно, но это совершенно плохо, файл размером 20 МБ стоил мне 10+ минут, чтобы вычислить CR C, добавить в битовый вектор и разрешить битовый вектор.

После этого я попытался использовать некоторые библиотеки, но я вообще не знаю, как их использовать. Ища в Интернете, я нашел несколько примеров, которые помогли мне вычислить CR C, но я не знаю, как добавить его в bitvector и разрешить.

Может кто-нибудь помочь мне? Мне просто нужны примеры того, как использовать одну библиотеку или алгоритм, который действительно работает для реализации.

Я пытался использовать библиотеки crc8, crccheck, crcmod и pycr c.

Я пытаюсь открыть файл -> преобразовать в байты -> вычислить CR C -> отправить -> получить -> проверить CR C -> открыть файл.

Мой фактический код :

import base64
import sys
from os import startfile
from mmap import ACCESS_READ, mmap
from crccheck.crc import Crc32

def codifica():    
    print("Digite o Nome.extensão ou Diretorio do arquivo:")
    arquivo = input()
    with open(arquivo, 'rb') as fh, mmap(fh.fileno(), 0, access=ACCESS_READ) as mm:
        crc = Crc32.calc((b[0] for b in mm))
        print(fh.read())
        data = base64.b64encode(fh.read()+bytes(crc))

        check = fh[0] + fh[1] + fh[2]
        if(check == 'C:\\'):
            D = fh.split('\\')
            auxname = D[len(D) - 1]
            Nome = auxname.split('.')
        else:
             Nome = fh.split('.')
    saida = Nome[0] +'LI-FI.' + Nome[1]
    print(saida)
    return data,crc
...