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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Idea中如何查看SpringSecurity各Filter信息
這篇文章主要介紹了Idea中如何查看SpringSecurity各Filter信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01java jackson 將對象轉json時,忽略子對象的某個屬性操作
這篇文章主要介紹了java jackson 將對象轉json時,忽略子對象的某個屬性操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10簡單注解實現(xiàn)集群同步鎖(spring+redis+注解)
本文主要介紹了簡單注解實現(xiàn)集群同步鎖的步驟與方法。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01