当前位置:   article > 正文

Sm3国标加密_sm3在线加密

sm3在线加密

package org.springblade.common.utils;

import org.bouncycastle.crypto.digests.SM3Digest;
import org.bouncycastle.pqc.math.linearalgebra.ByteUtils;

import java.io.UnsupportedEncodingException;

public class Sm3 {
private static final String ENCODING = “UTF-8”;
/**
* SM3加密
* @param paramStr 待加密字符串
* @return 返回加密后,固定长度=32的16进制字符串
* 在需要加密的地方调用这个方法就会返回一个密文
/
public static String encrypt(String paramStr) {
//将返回的hash值转换为16进制字符串
String resultHexString = “”;
try {
//将字符串转换成byte数组
byte[] srcData = paramStr.getBytes(ENCODING);
byte[] resultHash = hash(srcData);
//将返回的hash值转换成16进制字符串
resultHexString = ByteUtils.toHexString(resultHash);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return resultHexString;
}
/
*
* 返回长度为32的byte数组
* 生成对应的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;
}
}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/544349
推荐阅读
相关标签
  

闽ICP备14008679号