Sobes.tech
Junior — Middle
64

Каким образом создается цифровая подпись для данных?

Answer from AI

sobes.tech AI

Цифровая подпись создается с помощью асимметричного шифрования и хеширования. Сначала для данных вычисляется хеш (например, с помощью SHA-256), затем этот хеш шифруется закрытым ключом отправителя. Полученный зашифрованный хеш и есть цифровая подпись, которая гарантирует целостность и подлинность данных.

В Java это можно реализовать так:

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 можно отправить вместе с данными
    }
}