Я пытаюсь использовать алгоритм контрольной суммы 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