java生成sm2/hutool生成公鑰私鑰代碼示例
更新時間:2023年09月26日 10:28:39 作者:是個杏仁
這篇文章主要給大家介紹了關于java生成sm2/hutool生成公鑰私鑰的相關資料,Java是一種廣泛使用的編程語言,可以用來生成公鑰和私鑰文件,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
首先引入maven依賴
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>1.69</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</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); // true boolean 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還有很多強大的工具類,方便程序員們的調用
總結
到此這篇關于java生成sm2/hutool生成公鑰私鑰的文章就介紹到這了,更多相關java hutool生成公鑰私鑰內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java hibernate使用注解來定義聯(lián)合主鍵
這篇文章主要介紹了java hibernate使用注解來定義聯(lián)合主鍵的相關資料,需要的朋友可以參考下2017-01-01
SpringBoot項目中application.yml和bootstrap.yml文件的區(qū)別及說明
`application.yml`和`bootstrap.yml`都是Spring Boot項目中的配置文件,但它們在加載時機、用途、優(yōu)先級、配置來源、適用場景和是否必須存在等方面存在區(qū)別2025-03-03
SpringBoot集成Mybatis的實現(xiàn)步驟
這篇文章主要介紹了SpringBoot集成Mybatis的實現(xiàn)步驟,本文通過SpringBoot +MyBatis 實現(xiàn)對數(shù)據(jù)庫學生表的查詢操作,需要的朋友可以參考下2020-12-12

