/** * 测试签名 * @throws Exception */ @Test public void testSign() throws Exception { byte[] sign = this.sign("Hello World"); String result = Base64.getEncoder().encodeToString(sign); System.out.println(result); } /** * 私钥签名 * @param data * @return * @throws Exception */ private byte[] sign(String data) throws Exception { //读取储存的私钥字节数组 byte[] privateKeyCode = Files.readAllBytes(Paths.get(PRIVATE_KEY_PATH)); //包装私钥字节数组为一个KeySpec PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(privateKeyCode); KeyFactory keyFactory = KeyFactory.getInstance(ALGORITHM); //通过KeyFactory生成私钥 PrivateKey privateKey = keyFactory.generatePrivate(keySpec); Signature signature = Signature.getInstance("MD5withRSA");//签名的算法 //通过私钥初始化Signature,签名时用 signature.initSign(privateKey); //指定需要进行签名的内容 signature.update(data.getBytes()); //签名 byte[] result = signature.sign(); return result; }
RSA签名与验签
特别重申:本篇文档资料为 “好网角收藏夹” 注册用户(收藏家)上传共享,仅供参考之用,请谨慎辨别,不代表本站任何观点。
好网角收藏夹为网友提供资料整理云存储服务,仅提供信息存储共享平台。
如发现不良信息删除、涉嫌侵权,请 点击这里举报 ,或发送邮件到:dongye2016qq.com。
如发现不良信息删除、涉嫌侵权,请 点击这里举报 ,或发送邮件到:dongye2016qq.com。
哉辵賤
哉辵賤 已转藏