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