Sobes.tech
Junior — Middle

Jak se vytváří digitální podpis pro data?

sobes.tech AI

Odpověď od AI

Digitální podpis je vytvářen pomocí asymetrického šifrování a hashování. Nejprve se vypočítá hash dat (například pomocí SHA-256), a poté se tento hash zašifruje soukromým klíčem odesílatele. Získaný zašifrovaný hash je digitální podpis, který zaručuje integritu a pravost dat.

V Java to lze implementovat takto:

import java.security.*;

public class DigitalSignatureExample {
    public static void main(String[] args) throws Exception {
        KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
        keyGen.initialize(2048);
        KeyPair pair = keyGen.generateKeyPair();

        Signature signature = Signature.getInstance("SHA256withRSA");
        signature.initSign(pair.getPrivate());

        byte[] data = "Important data".getBytes();
        signature.update(data);

        byte[] digitalSignature = signature.sign();

        // digitalSignature lze poslat spolu s daty
    }
}