Ich versuche, die Implementierungen des Quellcodes zu finden. Zum Beispiel, wenn ich das Cipher-Objekt so initialisiere:
wie kann ich die tatsächliche Implementierung des verwendeten AES-Algorithmus und des CTR-Modus finden?
Wenn ich den Quellcode von Cipher.java nachschlage, können Sie sehen, dass die getInstance()-Methode einige Service-Provider verwendet. Ich vermute, dass die Zeile:
verantwortlich ist für die Zuordnung von "AES/CTR/NoPadding" zum erstellten CipherSpi-Objekt.
Aber jetzt stecke ich fest und weiß nicht, was los ist. Wie funktioniert das? Wo finde ich den Quellcode zu AES und CTR? Wird es den Klassen in diesem .../sun/crypto/provider Ordner zugeordnet? Wie funktioniert diese Zuordnung? Wo kann ich sehen, was welcher Eingabe zugeordnet ist? Was ich auch herausfinden möchte, ist, ob der CTR-Modus eine Art von Parallelismus verwendet.
Java:
Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding");
wie kann ich die tatsächliche Implementierung des verwendeten AES-Algorithmus und des CTR-Modus finden?
Wenn ich den Quellcode von Cipher.java nachschlage, können Sie sehen, dass die getInstance()-Methode einige Service-Provider verwendet. Ich vermute, dass die Zeile:
Code:
List<Service> services = GetInstance.getServices(cipherServices);
verantwortlich ist für die Zuordnung von "AES/CTR/NoPadding" zum erstellten CipherSpi-Objekt.
Aber jetzt stecke ich fest und weiß nicht, was los ist. Wie funktioniert das? Wo finde ich den Quellcode zu AES und CTR? Wird es den Klassen in diesem .../sun/crypto/provider Ordner zugeordnet? Wie funktioniert diese Zuordnung? Wo kann ich sehen, was welcher Eingabe zugeordnet ist? Was ich auch herausfinden möchte, ist, ob der CTR-Modus eine Art von Parallelismus verwendet.