栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java Rsa 签名 验签

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Rsa 签名 验签

    

签名:

    private static final BouncyCastleProvider PROVIDER = new BouncyCastleProvider();

public static String sign(String content, PrivateKey privateKey) throws Exception{
        Signature signature = Signature.getInstance("SHA256withRSAandMGF1", PROVIDER);
        signature.initSign(privateKey);
        signature.update(content.getBytes("utf-8"));
        byte[] signed = signature.sign();
        return encodeBASE64(signed);
    }

    public static String encodeBASE64(byte[] bytes) throws Exception{
        //BASE64Encoder b64=new BASE64Encoder();
        //return b64.encode(bytes);
        Base64 b64=new Base64();
        String str=new String(b64.encodeBase64(bytes),"UTF8");
        return str;
    }

验签:

    private static final BouncyCastleProvider PROVIDER = new BouncyCastleProvider();

    public static boolean checkSign(String content, String sign, PublicKey publicKey, String signAlgorithm) throws Exception{
        Signature signature = Signature.getInstance("SHA256withRSAandMGF1", PROVIDER);
        signature.initVerify(publicKey);
        signature.update(content.getBytes("utf-8"));
        return signature.verify(decodeBASE64(sign));
    }

注意:签名验签时候的签名算法要统一,此処的算法為sha256

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991752.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号