国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot實現(xiàn)國密SM4加密、解密

這篇具有很好參考價值的文章主要介紹了SpringBoot實現(xiàn)國密SM4加密、解密。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、SM4介紹

SM4.0(原名SMS4.0)是中華人民共和國政府采用的一種分組密碼標準,由國家密碼管理局于2012年3月21日發(fā)布。相關(guān)標準為“GM/T 0002-2012《SM4分組密碼算法》(原SMS4分組密碼算法)”。
在商用密碼體系中,SM4主要用于數(shù)據(jù)加密,其算法公開,分組長度與密鑰長度均為128bit,加密算法與密鑰擴展算法都采用32輪非線性迭代結(jié)構(gòu),S盒為固定的8比特輸入8比特輸出。
SM4.0中的指令長度被提升到大于64K(即64×1024)的水平,這是SM 3.0規(guī)格(渲染指令長度允許大于512)的128倍。

二、引入Hutool工具類

POM文件引入下面兩個依賴

<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.5</version>
</dependency>

三、新建SM4Util

package org.demo.utils;

import cn.hutool.crypto.symmetric.SymmetricCrypto; 
import cn.hutool.core.util.StrUtil;

public class SM4Utils {

	//key必須是16字節(jié),即128位
	final static String key = "testsm4key123456";

	//指明加密算法和秘鑰
	static SymmetricCrypto sm4 = new SymmetricCrypto("SM4/ECB/PKCS5Padding", key.getBytes());

	/**
	 * 加密為16進制,也可以加密成base64/字節(jié)數(shù)組
	 *
	 * @param plaintext
	 * @return
	 */
	public static String encryptSm4(String plaintext) {
		if (StrUtil.isBlank(plaintext)) {
			return "";
		}
		return sm4.encryptHex(plaintext);
	}

	/**
	 * 解密
	 *
	 * @param ciphertext
	 * @return
	 */
	public static String decryptSm4(String ciphertext) {
		if (StrUtil.isBlank(ciphertext)) {
			return "";
		}
		return sm4.decryptStr(ciphertext);
	}
}

四、使用

    public static void main(String[] args) {
        String str =  SM4Utils.encryptSm4("測試加密");
        System.out.println("加密后的字符串為"+str);
        System.out.println("解密后的字符串為"+SM4Utils.decryptSm4(str));
    }

以上內(nèi)容就是使用Hutools實現(xiàn)國密算法SM4的全過程,有問題可以私信博主文章來源地址http://www.zghlxwxcb.cn/news/detail-722527.html

到了這里,關(guān)于SpringBoot實現(xiàn)國密SM4加密、解密的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • C# 實現(xiàn) 國密SM4/ECB/PKCS7Padding對稱加密解密

    C# 實現(xiàn) 國密SM4/ECB/PKCS7Padding對稱加密解密

    C#?實現(xiàn) 國密SM4/ECB/PKCS7Padding對稱加密解密,為了演示方便本問使用的是Visual Studio 2022 來構(gòu)建代碼的 1、新建項目,之后選擇 項目 鼠標右鍵選擇? 管理NuGet程序包管理,輸入??BouncyCastle 回車 添加BouncyCastle程序包 2、代碼如下:CBC模式 代碼如下:ECB模式 3、運行 4、SM4密碼算法

    2024年02月11日
    瀏覽(147)
  • 醫(yī)保移動支付加密解密請求工具封裝【國密SM2SM4】

    醫(yī)保移動支付加密解密請求工具封裝【國密SM2SM4】

    醫(yī)保移動支付加密解密請求工具封裝 定點醫(yī)藥機構(gòu)向地方移動支付中心發(fā)起費用明細上傳、支付下單、醫(yī)保退費等交易時需要發(fā)送密文,由于各大醫(yī)療機構(gòu)廠商的開發(fā)語各不相同,可能要有java的、c#的、python的、pb的、nodjs的、php的、還可能有Delphi的等。。。。很多開發(fā)語言

    2024年01月21日
    瀏覽(123)
  • 國密算法 SM4加密算法 Python完整實現(xiàn)

    國密算法 SM4加密算法 Python完整實現(xiàn)

    SM4算法是一種 對稱加密算法 ,也被稱為國密算法。它是由中國密碼學家設(shè)計的,已被列入國家密碼局的標準。 SM4算法使用 128位的密鑰和分組大小 ,使用 32輪迭代 加密,可以用于加密數(shù)據(jù)和驗證消息認證碼。它的加密效率很高,安全性也很好,被廣泛應用于各種安全領(lǐng)域,

    2024年02月11日
    瀏覽(30)
  • js sm4實現(xiàn)加密解密

    2023.10.25今天我學習了如何使用sm4進行加密解密: 注意:前端和后端的編碼必須相同才能使用,不然會出現(xiàn)空字符串的錯誤。 一、首先安裝sm4.js包: package.json中的版本:?(安裝失敗的話可以直接復制下面的版本然后npm install) 二、main.js中全局引入或局部引入: 這個是全局

    2024年01月18日
    瀏覽(92)
  • 國密算法 SM4 對稱加密 分組密碼 python實現(xiàn)完整代碼

    國密算法 SM4 對稱加密 分組密碼 python實現(xiàn)完整代碼

    目前,python實現(xiàn)的國密算法庫主要是 python-gmssl 庫和 snowland-smx ( pysmx )庫,二者都對SM2(僅公鑰加解密和數(shù)字簽名)、SM3、SM4進行了細致而優(yōu)雅的實現(xiàn)。 GMSSL. https://github.com/duanhongyi/gmssl snowland-smx. https://gitee.com/snowlandltd/ snowland-smx-python PyCryptodome. https://www.pycryptodome.org 最近用

    2024年02月06日
    瀏覽(27)
  • 前端使用國密sm2和sm4進行加解密

    國密SM:國密算法,即國家商用密碼算法。是由國家密碼管理局認定和公布的密碼算法標準及其應用規(guī)范,其中部分密碼算法已經(jīng)成為國際標準。如SM系列密碼,SM代表商密,即商業(yè)密碼,是指用于商業(yè)的、不涉及國家秘密的密碼技術(shù)。 安裝SM加密依賴 SM2 封裝 將sm2的加密解密

    2024年02月08日
    瀏覽(97)
  • 使用 Java Bouncy Castle實現(xiàn)國密算法SM4、SM3以及SM2的加密

    使用 Java Bouncy Castle實現(xiàn)國密算法SM4、SM3以及SM2的加密

    國密算法的實現(xiàn)借助了Java庫函數(shù) Bouncy Castle,加密庫安裝使用教程請參考鏈接 SM4,又稱為商密算法,是一種分組密碼算法,于2012年由中國密碼技術(shù)研究中心(中國密碼學會成員)發(fā)布,目前已成為我國國家密碼算法,并在多個領(lǐng)域得到了廣泛的應用。SM4算法采用了32輪迭代結(jié)

    2024年02月16日
    瀏覽(34)
  • 基于hutool 封裝國密sm2,sm4 加解密算法

    基于hutool 封裝國密sm2,sm4 加解密算法 1. 加入依賴包 2. 編碼

    2024年02月13日
    瀏覽(24)
  • 國密算法-SM4加解密工具類

    國密算法-SM4加解密工具類

    運行結(jié)果:

    2024年02月11日
    瀏覽(24)
  • 前端國密加解密使用方法SM2、SM3、SM4

    ? ?國密算法,即國家商用密碼算法。是由國家密碼管理局認定和公布的密碼算法標準及其應用規(guī)范,其中部分密碼算法已經(jīng)成為國際標準。如SM系列密碼,SM代表商密,即商業(yè)密碼,是指用于商業(yè)的、不涉及國家秘密的密碼技術(shù)。 ? ? ?不多廢話直接上干貨 項目中 可能存在

    2023年04月09日
    瀏覽(103)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包