关于密码学:密码学-13-数字签名算法

简介:

对指标先进行音讯摘要算法,失去的后果再进行RSA加密。

特点:

这种状况下的RSA往往是NoPadding 模式。保障每次的加密后果统一。


代码实现

public static String getSignature(String data) throws Exception {
        PrivateKey privateKey = RSABase64.genPrivatekey();
        Signature signature = Signature.getInstance("SHA256withRSA");
        signature.initSign(privateKey);
        signature.update(data.getBytes(StandardCharsets.UTF_8));
        byte[] res=  signature.sign();
        ByteString of = ByteString.of(res);
        return  of.base64();

    };

    public static boolean verifySignature (String data, String sign) throws Exception {

        PublicKey publicKey = RSABase64.genPublickey();
        Signature signature = Signature.getInstance("SHA256withRSA");
        signature.initVerify(publicKey);
        signature.update(data.getBytes(StandardCharsets.UTF_8));
        return  signature.verify(ByteString.decodeBase64(sign).toByteArray());
    };

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理