日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java sm3加密算法的實現

瀏覽:14日期:2022-08-22 13:27:51

1.準備工作

所需jar包:

bcprov-jdk15on-1.59.jarcommons-lang3-3.1.jar

對應的maven依賴

<!--sm3,sm4加密算法--><dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>1.66</version></dependency>

import org.bouncycastle.crypto.digests.SM3Digest;import org.bouncycastle.crypto.macs.HMac;import org.bouncycastle.crypto.params.KeyParameter;import org.bouncycastle.jce.provider.BouncyCastleProvider;import org.bouncycastle.pqc.math.linearalgebra.ByteUtils;import java.io.UnsupportedEncodingException;import java.security.Security;import java.util.Arrays;

/** * sm3加密算法工具類 * @explain 加密與加密結果驗證(不可逆算法) * @author Marydon * @creationTime 2018年7月5日上午10:01:24 * @version 1.0 * @since * @email marydon20170307@163.com */public class Sm3Utils { private static final String ENCODING = 'UTF-8'; static { Security.addProvider(new BouncyCastleProvider()); }} 

2.SM3加密

方式一:不提供密鑰

/** * sm3算法加密 * @explain * @param paramStr * 待加密字符串 * @return 返回加密后,固定長度=32的16進制字符串 */public static String encrypt(String paramStr){ // 將返回的hash值轉換成16進制字符串 String resultHexString = ''; try { // 將字符串轉換成byte數組 byte[] srcData = paramStr.getBytes(ENCODING); // 調用hash() byte[] resultHash = hash(srcData); // 將返回的hash值轉換成16進制字符串 resultHexString = ByteUtils.toHexString(resultHash); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return resultHexString;} /** * 返回長度=32的byte數組 * @explain 生成對應的hash值 * @param srcData * @return */public static byte[] hash(byte[] srcData) { SM3Digest digest = new SM3Digest(); digest.update(srcData, 0, srcData.length); byte[] hash = new byte[digest.getDigestSize()]; digest.doFinal(hash, 0); return hash;}

方式二:自定義密鑰

/** * 通過密鑰進行加密 * @explain 指定密鑰進行加密 * @param key * 密鑰 * @param srcData * 被加密的byte數組 * @return */public static byte[] hmac(byte[] key, byte[] srcData) { KeyParameter keyParameter = new KeyParameter(key); SM3Digest digest = new SM3Digest(); HMac mac = new HMac(digest); mac.init(keyParameter); mac.update(srcData, 0, srcData.length); byte[] result = new byte[mac.getMacSize()]; mac.doFinal(result, 0); return result;}

3.加密數據校驗

/** * 判斷源數據與加密數據是否一致 * @explain 通過驗證原數組和生成的hash數組是否為同一數組,驗證2者是否為同一數據 * @param srcStr * 原字符串 * @param sm3HexString * 16進制字符串 * @return 校驗結果 */public static boolean verify(String srcStr, String sm3HexString) { boolean flag = false; try { byte[] srcData = srcStr.getBytes(ENCODING); byte[] sm3Hash = ByteUtils.fromHexString(sm3HexString); byte[] newHash = hash(srcData); if (Arrays.equals(newHash, sm3Hash)) flag = true; } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return flag;} 

4.測試

public static void main(String[] args) { // 測試二:json String json = '{'name':'Marydon','website':'http://www.cnblogs.com/Marydon20170307'}'; String hex = Sm3Utils.encrypt(json); System.out.println(hex);// 0b0880f6f2ccd817809a432420e42b66d3772dc18d80789049d0f9654efeae5c // 驗證加密后的16進制字符串與加密前的字符串是否相同 boolean flag = Sm3Utils.verify(json, hex); System.out.println(flag);// true}

以上就是Java sm3加密算法的實現的詳細內容,更多關于Java sm3加密算法的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
97久久亚洲| 中文字幕一区二区三区日韩精品| 欧美aⅴ一区二区三区视频| 91成人精品视频| 日韩国产一区二区| 日韩在线欧美| 国产 日韩 欧美一区| 高清av不卡| 亚洲精品88| 亚洲无线一线二线三线区别av| 亚洲v在线看| 久久要要av| 欧美日韩精品一区二区视频| 精精国产xxxx视频在线野外| 日韩欧美一区二区三区在线视频| 最新国产精品久久久| 日韩一区二区三区免费视频| 日韩在线电影| 欧美日韩伊人| 美女久久精品| 精品国产aⅴ| 水蜜桃久久夜色精品一区| 国产精品久久久久蜜臀 | 精品1区2区3区4区| 国产精品日韩欧美一区| 在线国产精品一区| 清纯唯美亚洲综合一区| 国产精品一区亚洲| 成人在线免费观看网站| 午夜av不卡| 国产亚洲福利| 91九色综合| 国语精品一区| 在线日韩电影| 亚洲人成网77777色在线播放| 日韩在线观看中文字幕| 国产福利资源一区| 日韩啪啪电影网| 波多野结衣一区| 中文字幕中文字幕精品| 国产精品嫩模av在线| 日韩av二区| 理论片午夜视频在线观看| 久久精品不卡| 日本精品一区二区三区在线观看视频| 国产精品嫩模av在线| 日韩欧美精品| 亚洲欧洲国产精品一区| 精品一区视频| 亚洲精品99| 青青青国产精品| 97人人精品| 视频一区视频二区在线观看| 国产精品白浆| 欧美影院三区| 国内自拍视频一区二区三区| 日本不卡视频一二三区| 你懂的国产精品永久在线| 欧美日韩视频一区二区三区| 日韩高清不卡| 国产一区久久| 日韩制服丝袜先锋影音| 免费成人在线影院| 亚洲久久视频| 婷婷成人av| 久久不卡国产精品一区二区| 最近高清中文在线字幕在线观看1| 日韩欧美中文字幕一区二区三区| 伊人精品一区| 国产一区二区精品久| 久久一二三区| 日精品一区二区三区| 日韩av不卡一区二区| 欧美在线看片| 日韩激情网站| 精品中文在线| 中文字幕av一区二区三区人| 精品久久电影| 在线视频亚洲欧美中文| 麻豆精品在线视频| 91久久在线| 久久精品午夜| 中文字幕日韩亚洲| 日韩一区二区三区免费播放| 日韩美女国产精品| 日韩精品免费一区二区三区| 日本电影久久久| 在线中文字幕播放| 欧美亚洲三级| 爽好多水快深点欧美视频| 日韩毛片视频| 国产精品一区二区精品视频观看| 亚洲欧洲另类| 亚洲日本网址| 欧美亚洲福利| 麻豆91精品| 婷婷成人在线| 天堂√8在线中文| 蜜桃一区二区三区在线| 新版的欧美在线视频| 欧美亚洲一区二区三区| 亚洲在线观看| 久久久久一区| 欧美日韩网址| 日韩精品一二区| 欧美色图国产精品| 精品国产精品久久一区免费式| 日韩激情中文字幕| 亚洲欧美日本国产专区一区| 欧美激情aⅴ一区二区三区| 热久久国产精品| 国产韩日影视精品| 亚洲日本网址| 91亚洲一区| 国产劲爆久久| 日韩黄色av| 亚洲1区在线观看| 国产剧情在线观看一区| 国语对白精品一区二区| 欧美精品二区| 欧美亚洲三区| 99久久婷婷这里只有精品| 92国产精品| 日韩精品一区二区三区免费观影 | 国产精品对白| 综合激情网...| 欧美一区影院| 91精品国产福利在线观看麻豆| 91亚洲国产成人久久精品| 国产精品调教视频| 国产精品久久久网站| 免费亚洲婷婷| 亚洲不卡av不卡一区二区| 日韩在线观看| 国产精品久久久久久久久妇女| 国产精品一区二区av交换| se01亚洲视频 | 亚洲综合精品| 亚洲天堂av资源在线观看| 爽好多水快深点欧美视频| 三级欧美在线一区| 亚洲视频国产| 亚洲一区二区三区高清不卡| 蜜臀久久99精品久久久画质超高清 | 日韩av成人高清| 青草国产精品| 国产精品久久久久久久久久久久久久久 | 69精品国产久热在线观看| 欧美日本不卡| 国产精品**亚洲精品| 成人片免费看| 黄色日韩在线| 日韩高清一区二区| 麻豆视频久久| 日韩国产在线| 一本一本久久| 婷婷久久免费视频| 国产精品久久久久av蜜臀| 国产成人免费精品| 九九久久电影| 婷婷精品久久久久久久久久不卡| 国产伦精品一区二区三区在线播放| 精品一区二区三区四区五区| 久久久天天操| 亚洲一区二区小说| 欧美精品不卡| 99精品视频精品精品视频| 在线看片日韩| 国产精品1区| 夜鲁夜鲁夜鲁视频在线播放| 米奇777超碰欧美日韩亚洲| 亚洲一级大片| 精品五月天堂| 欧美jjzz| 国产精品最新自拍| 99久精品视频在线观看视频| 免费看日韩精品| 国产成人黄色| 亚洲制服少妇| 精品72久久久久中文字幕| 亚洲欧美日韩国产| 国产精品美女在线观看直播| 99热精品久久| 欧美一区精品| 欧美亚洲国产激情| 日韩欧美一区二区三区在线视频 | 国内激情久久| 成人日韩av| 精品欧美视频| 久久久久国产| 亚洲一级网站| 日韩在线卡一卡二| 日韩激情一区二区| 国产精品扒开腿做爽爽爽软件| 欧美1区2区3| 国产日韩电影| 久久精品女人| 青青国产91久久久久久| 激情五月色综合国产精品| 天堂久久av|