Plik funkcji skrótu/sumy kontrolnej

0

Jestem w trakcie tworzenia programu do generowania sum kontrolnych.
Wykorzystam tutaj szereg ogólnie znanych algorytmów hashujących: np: md5/SHA/SHA2/SHA3/Blake, etc... czy sum kontrolnych CRC (np. CRC32).

Zastanawiam się, czy jest jakiś przyjęty sposób zapisu do pliku wygenerowanych sum kontrolnych.

Sumy kontrolne CRC można zapisać do pliku w formacie sfv (czyli: NazwaPliku Spacja SumaKontrolna, np: MojPlik.exe FA492943)
Ale algorytmów CRC jest mnóstwo! Czy w taki sam sposób zapisujemy CRC32 i CRC64? A CRC16, CRC8, etc ?
Czy jest jakiś standard, czy po prostu plik sfv jest najpopularniejszy i ogólnie przyjęty?

W przypadku funkcji skrótu, weźmy dla przykładu popularny algorytm SHA256.
Zazwyczaj wynik zapisuje się w pliku tekstowym o rozszerzeniu sha256 i zawartości: FunkcjaSkrotu Spacja *NazwaPliku, np: 1b78a1432c4f582da8e63035536726b98dbe601aa1851440a02e3a6161c81669 *MojPlik.exe

Czy rozszerzenie naszego pliku Hash jest jakoś ustalone? Czy są do tego wytyczne?
Bo, np. plik wynikowy algorytmu md5 zapiszemy jako MojPlik.exe.md5, a dla algorytmu Blake3 -> MojPlik.exe.blake3...
Ale jak to jest dla innych popularnych algorytmów? Np: Blake2, SHA3, Keccak, GOST, WhirlPool, Snefru, Panama, RIPEMD, Grindahl, etc?

Kwestia nazwy pliku oraz jego zawartości ma znaczenie na przykład przy weryfikacji pliku.

Proszę o jakieś wskazówki.
Dziękuję

0

Zamiast pliku ja bym zrobił folder: może taka koncepcja bazująca na TortoiseGit (wiec to raczej zadziała na Windows)

  • baza danych w ukrytym folderze, TortoiseGit używa .git bo nakładka na GIT, Ty wymyśl swój folder np. :D
  • ikony dla plików które są objęte kontrolą sumy kontrolnej , jak się nie zgadza to ikona się zmienia
  • dodawanie/ignorowanie monitorowanych plików

Wszystko w ukrytym folderze bo irytują mnie dodatkowe pliki, koncepcja gita mnie nie irytuje :D

0

Według mnie program do generowania sum kontrolnych powinien generować sumy kontrolne i tyle. Tak jak to robi np. sha256sum. To w jaki sposób dystrybujesz te hashe zależy od przypadku użycia:

  • hash jest sprawdzany ręcznie przez usera: wrzucasz na stronkę hasha i algorythm i elo.
  • hash jest sprawdzany półautomatycznie czyli to co wyżesz tylko np. więcej plików: wrzuć output z polecenia np sha256sum, użytkownik może sobie porównać z tym co ma u siebie (np. za pomocą diff)
  • w pełni automatyczna metoda: najlepiej trzymać hash i algorytm w jednym miejscu np. w jsonie {"algo": "sha256", "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}
0

Ale pytanie, ty chcesz mieć kooperację z innymi narzędziami czy chcesz to sobie zaimplementować po swojemu. Jak chcesz po swojemu, to możesz użyć multihash

1 użytkowników online, w tym zalogowanych: 0, gości: 1