• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sprawdzenie programu do 3DES

Object Storage Arubacloud
0 głosów
178 wizyt
pytanie zadane 7 października 2017 w Java przez zygmunt Początkujący (310 p.)

Mam za zadanie napisać program szyfrujący wykorzystujący 3DES. Z dużą pomocą Internetu udało mi się napisać coś takiego, chciałbym jednak prosić, aby ktoś sprawdził, czy mój program na pewno działa tak jak powinien, w sensie czy spełnia założenia 3DES?
Poza tym, jak mogę sprawdzić ile bitów ma generowany klucz? 

public class TripleDes {

    private static final String UNICODE_FORMAT = "UTF8";
    public static final String DESEDE_ENCRYPTION_SCHEME = "DESede";
    private KeySpec keySpec;
    KeyGenerator keygen;    
    private Cipher cipher;
    byte[] arrayBytes;
    private String myEncryptionScheme;
    SecretKey klucz;
       
    

    public TripleDes() throws Exception {
        
        myEncryptionScheme = DESEDE_ENCRYPTION_SCHEME;
        keygen = KeyGenerator.getInstance("DESede");
        cipher = Cipher.getInstance(myEncryptionScheme);
        klucz = keygen.generateKey();
        arrayBytes = klucz.getEncoded();
        keySpec = new DESedeKeySpec(arrayBytes);
        String s = new String(arrayBytes);
    }

    public String zaszyfruj(String niezaszyfrowanyTekst) {
        String zaszyfrowanyTekst = null;

        try {
            //inicjalizacja silnika algorytmu szyfrujacego
            cipher.init(Cipher.ENCRYPT_MODE, klucz);
            byte[] zwyklyTekst = niezaszyfrowanyTekst.getBytes(UNICODE_FORMAT);
            byte[] zakodowanyTekst = cipher.doFinal(zwyklyTekst);
            zaszyfrowanyTekst = new String(Base64.encodeBase64(zakodowanyTekst));
        } catch (Exception e) {
            e.printStackTrace();
        }

        return zaszyfrowanyTekst;
    }

    public String odszyfruj(String zaszyfrowanyTekst) {
        String odszyfrowanyTekst = null;

        try {
            cipher.init(Cipher.DECRYPT_MODE, klucz);
            byte[] zakodowanyTekst = Base64.decodeBase64(zaszyfrowanyTekst);
            byte[] zwyklyTekst = cipher.doFinal(zakodowanyTekst);
            odszyfrowanyTekst = new String(zwyklyTekst);

        } catch (Exception e) {
            e.printStackTrace();
        }

        return odszyfrowanyTekst;
    }

    public static void main(String[] args) throws Exception {

        TripleDes tripleDes = new TripleDes();
        
        String wiadomosc = "Jakas tam wiadomosc";
        String zaszyfrowany = tripleDes.zaszyfruj(wiadomosc);
        String odszyfrowany = tripleDes.odszyfruj(zaszyfrowany);
        
        System.out.println("Tekst do zakodowania: " + wiadomosc);
        System.out.println("Zaszyfrowany tekst: " + zaszyfrowany);
        System.out.println("Odszyfrowany tekst: " + odszyfrowany);
        
        
        
    }

}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 322 wizyt
+1 głos
1 odpowiedź 399 wizyt
pytanie zadane 1 marca 2022 w Java przez ptomeccc Użytkownik (800 p.)
0 głosów
3 odpowiedzi 1,648 wizyt
pytanie zadane 31 stycznia 2019 w Java przez burntpoland Nowicjusz (160 p.)

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...