package com.backendsys.service.KeyPair;

import com.backendsys.entity.KeyPair.KeyPairDTO;

import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.spec.InvalidKeySpecException;

public interface KeyPairService {

    // 获得密钥对（公钥、私钥）
    KeyPairDTO generateKeyPair();

    // (公钥) 将 Base64 转回 Byte
    PublicKey getPublicBase64ToByte(String public_key_str) throws NoSuchAlgorithmException, InvalidKeySpecException;
    // (私钥) 将 Base64 转回 Byte
    PrivateKey getPrivateBase64ToByte(String private_key_str) throws NoSuchAlgorithmException, InvalidKeySpecException;

    // 使用公钥来加密数据
    String encryptedRSA(PublicKey publicKey, String content);

    // 使用私钥来解密数据
    String decryptedRSA(PrivateKey privateKey, String content_encrypted);

}
