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
}
}