-
Data: 2021-06-30 15:04:45
Temat: Re: Python i klasy oraz dawka magii czyli niezrozumienie
Od: Piotr Wladyka <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]środa, 3 marca 2021 o 12:58:08 UTC+1 Roman Tyczka napisał(a):
[ - CIACH - ]
> Ale nie mogę pojąć jak to jest zrobione od strony języka, bo gdy patrzę
> na klasy trybów to niektóre się niczym nie różnią, a wynik ich użycia
> daje inne efekty, np. takie trzy tryby OFB, CFB i CFB8:
>
> class OFB(Mode, ModeWithInitializationVector):
> name = "OFB"
[ - CIACH - ]
> Poza polem "name" każda klasa jest identyczna, a jednak wynik jest inny.
> Jak to działa?
Odpowiedź masz na samym początku:
- - - - - - -
import abc
import typing
from cryptography import utils
from cryptography.hazmat.primitives._cipheralgorithm import CipherAlgorithm
class Mode(metaclass=abc.ABCMeta):
@abc.abstractproperty
def name(self) -> str:
"""
A string naming this mode (e.g. "ECB", "CBC").
"""
- - - - - - -
Autor używa mata-klas, prawdopodobnie dlatego, że pakiet jest napisany dla różnych
wersji pythona (CPython, PyPy, Py+Rust), więc rzeczywista implementacja algorytmu
siedzi głębiej (wybór "kawałków kodu do późniejszego użycia" odbywa się jeszcze na
poziomie instalacji modułu - pip, ... etc) , a właśnie zmienna "Mode.name" służy do
wyboju już konkretnej metody spośród "dostępnych dla tego środowiska".
---
pzdr,
Vlad P.
Następne wpisy z tego wątku
- 30.06.21 15:36 Roman Tyczka
- 30.06.21 16:49 Piotr Wladyka
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-27 Warszawa => Senior Account Manager (on-site) <=
- 2024-04-27 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-27 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-04-27 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-27 Ja pierdolę...
- 2024-04-27 Ryby i kawitacja
- 2024-04-27 Zabrze => Junior HelpDesk <=
- 2024-04-27 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-04-27 Bażanowice => Inżynier Industrializacji - Elektronik <=