iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java生成sm2使用hutool生成公钥私钥
  • 206
分享到

java生成sm2使用hutool生成公钥私钥

java开发语言 2023-09-09 10:09:09 206人浏览 薄情痞子
摘要

首先引入Maven依赖 org.bouncycastle bcprov-jdk15to18 1.69 cn.hutool hutool-all 5.8.16 然后运行以下代码

首先引入Maven依赖

<dependency>  <groupId>org.bouncycastlegroupId>  <artifactId>bcprov-jdk15to18artifactId>  <version>1.69version>dependency><dependency>    <groupId>cn.hutoolgroupId>    <artifactId>hutool-allartifactId>    <version>5.8.16version>dependency>

然后运行以下代码

KeyPair pair = SecureUtil.generateKeyPair("SM2");byte[] privateKey = pair.getPrivate().getEncoded();byte[] publicKey = pair.getPublic().getEncoded();//私钥String privateKeyStr=Base64.getEncoder().encodeToString(privateKey);//公钥String publicKeyStr=Base64.getEncoder().encodeToString(publicKey);

就可以得到私钥和公钥

公钥提供给通讯方验签

下面是签名的代码

String content = "我是Hanley.";final SM2 sm2 = SmUtil.sm2(privateKeyStr,null);String sign = sm2.signHex(HexUtil.encodeHexStr(content));

验签代码

final SM2 sm2 = SmUtil.sm2(null,publicKeyStr);// trueboolean verify = sm2.verifyHex(HexUtil.encodeHexStr(content), sign);

加密

// 公钥加密,私钥解密SM2 sm2 = SmUtil.sm2(null, publicKey);String encryptStr = sm2.encryptBcd(text, KeyType.PublicKey);

解密

// 公钥加密,私钥解密SM2 sm2 = SmUtil.sm2(privateKeyStr, null);String decryptStr = StrUtil.utf8Str(sm2.decryptFromBcd(encryptStr, KeyType.PrivateKey));

好了,以上就是sm2util的使用介绍了,hutool还有很多强大的工具类,方便程序员们的调用

来源地址:https://blog.csdn.net/t_1000poke/article/details/131928448

--结束END--

本文标题: java生成sm2使用hutool生成公钥私钥

本文链接: https://www.lsjlt.com/news/401297.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java生成sm2使用hutool生成公钥私钥
    首先引入maven依赖 org.bouncycastle bcprov-jdk15to18 1.69 cn.hutool hutool-all 5.8.16 然后运行以下代码...
    99+
    2023-09-09
    java 开发语言
  • 使用RSA生成公钥和私钥
    1.jdk keytool 可以用keytool工具直接生成,需要openssl工具Binaries - OpenSSLWiki设置到环境变量里 @echo offcd ../outputIF exist auth.jks del auth...
    99+
    2023-09-05
    linux 服务器 java
  • 生成keystore以及导出keystore公钥,私钥信息
    有时候需要做一些证书,特别是安卓接入SDK,提交包什么的需要填入公钥私钥信息,可能需要RSA 1024位或其他位数的信息。 这里提供一个能获取keystore信息和公钥私钥的命令。 openssl我就不再写了,自己再百度下怎么处理。 生成...
    99+
    2023-09-21
    android
  • java通过AES生成公钥加密数据ECC加密公钥
    目录成功通过AES获取公钥和私钥进行ECC加密成功 本文通过java语言实现ECC+AES混合加密。 ECC加密算法具有密钥分配与管理简单,安全强度高等优点,AES的加密算法具...
    99+
    2022-12-20
    java AES生成公钥加密数据ecc java ecc加密
  • 使用keytool生成3DES密钥
    keytool 简介 keytool生成3DES密钥 C:\Program Files\Java\jre1.8.0_161\bin>keytool -genseckey -alias test-TDES -keyalg DESede ...
    99+
    2023-01-31
    密钥 keytool DES
  • 国密sm2公钥加密 私钥解密java代码实现
    目录 一、引入jar包 二、生成秘钥对,加解密工具类 一、引入jar包 org.bouncycastle bcprov-jdk15on ...
    99+
    2023-10-21
    java 开发语言 安全
  • 安卓生成公钥和md5签名
    安卓公钥和md5证书签名 大家好,最近需要备案app,用到了公钥和md5,MD5签名我倒是知道,然而对于公钥却一下子不知道了, 现在我讲一下我的流程。 首先是md5证书签名的查看, 生成了ap...
    99+
    2023-10-18
    android
  • Mac 生成 SSH 密钥
    作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。 热门文章推荐: (...
    99+
    2023-08-16
    ssh macos 服务器
  • 国密:生成SM2秘钥、加解密及加验签
    国密改造已经持续了很长时间了,相信很多从事金融科技类的程序猿都遇到过这个需求。这篇文章就为大家带来笔者对于国密改造的一些经验,主要是代码层面,有兴趣的同学可以研究下国密的算法模型! 注:本文所用到的工具类并非笔者所写! 目录 一、国密简述 ...
    99+
    2023-09-07
    java 开发语言
  • Windows上生成SSH密钥
    在Windows上生成SSH密钥可以通过以下简单步骤: 下载并安装Git for Windows。 打开Git Bash终端。 输入以下命令生成SSH密钥: ssh-keygen 按照提示输入保存密钥的文件名和密码。 在用户主目...
    99+
    2023-08-18
    ssh git 服务器
  • 怎么使用java生成激活码和密钥
    这篇文章主要介绍“怎么使用java生成激活码和密钥”,在日常操作中,相信很多人在怎么使用java生成激活码和密钥问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用java生成激活码和密钥”的疑惑有所帮助!...
    99+
    2023-06-30
  • 使用java生成激活码和密钥的方法
    目录解密与加密设计思路解密与加密工具类激活码生成测试解密与加密设计思路 加密:采用AES对称加密、解密7位数: 32进制序列(4位) + 密钥类别(2位)+ 有效时长(1位)加密后密...
    99+
    2024-04-02
  • 使用 Go 通过自定义 io.Reader 确定性生成 RSA 私钥
    php小编百草将为大家介绍如何使用Go语言通过自定义io.Reader接口来确定性生成RSA私钥。RSA是一种非对称加密算法,常用于数据加密和数字签名。在生成RSA私钥时,通常需要从随...
    99+
    2024-02-09
    go语言
  • 分享生成PyCharm密钥的方法
    概要:PyCharm是一款强大的Python集成开发环境,许多开发者使用它来进行Python项目的开发和调试。在使用PyCharm时,我们常常会遇到需要生成密钥的情况,以便于进行某些操...
    99+
    2024-02-25
    pycharm 密钥生成
  • Linux系统如何生成ssh密钥并获取密钥
    这篇文章将为大家详细讲解有关Linux系统如何生成ssh密钥并获取密钥,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。1.首先什么是SSH&...
    99+
    2023-06-28
  • wind10生成 SSH 公钥---实现github本地部署、上传
    wind10生成 SSH 公钥---实现github本地部署、上传  1、Git - 生成 SSH 公钥 如前所述,许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密...
    99+
    2023-09-08
    git ssh 服务器
  • 【git】git ssh 公钥私钥 在 windows和mac 双系统分别如何生成 以及对接各个平台说明
    win和mac 双系统分别如何生成 git ssh 一、windows 生成 ssh 公钥私钥 windows版本需要下载git bash:https://gitforwindows.org/ 在 g...
    99+
    2023-08-31
    git ssh macos
  • GitLab加密钥的作用是什么?怎么生成?
    GitLab是一个开源的代码托管平台,它为开发者提供了许多便利操作,例如版本控制、协作开发、自动化部署等。在使用GitLab进行开发流程中,为了保证代码的安全性,我们需要使用加密钥来保护我们的代码。下面来了解一下。GitLab加密钥的作用在...
    99+
    2023-10-22
  • 阿里云服务器生成秘钥密码
    # 在使用阿里云服务器时,安全是至关重要的一步。本文将介绍如何生成阿里云服务器的秘钥密码,以确保您的服务器安全。生成秘钥密码步骤:登录阿里云控制台并选择相应的实例。点击“管理”,进入实例管理页面。在“安全组”下,找到“安全组规则”,点击进入...
    99+
    2024-01-25
    阿里 密码 服务器
  • 如何使用公钥/私钥对设定免密的Linux登录方式
    小编给大家分享一下如何使用公钥/私钥对设定免密的Linux登录方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用一组公钥/私钥对让你不需要密码登录到远程 Li...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作