当前位置: 首页 > news >正文

ps网站参考线怎么做网站建设好的图片

ps网站参考线怎么做,网站建设好的图片,网站建设必须要备案吗,深圳有哪几个区前言项目里需要用到sm4加密#xff0c;在这里记录一下(springboot)。依赖bouncycastleorg.bouncycastlebcmail-jdk15on1.66cn.hutoolhutool-all5.4.1代码直接贴代码#xff0c;可以根据自己的需要封装相对应的代码逻辑。//需要注意的是#xff0c;使用KeyGenerator生成密钥种…前言项目里需要用到sm4加密在这里记录一下(springboot)。依赖bouncycastleorg.bouncycastlebcmail-jdk15on1.66cn.hutoolhutool-all5.4.1代码直接贴代码可以根据自己的需要封装相对应的代码逻辑。//需要注意的是使用KeyGenerator生成密钥种子的时候windows和linux上会产生不一致。//例如KeyGenerator kg KeyGenerator.getInstance(ALGORITHM_NAME, PROVIDER_NAME);SecureRandom random new SecureRandom();if(null ! seed !.equals(seed)){random.setSeed(seed.getBytes());}kg.init(keySize, random);//解决办法SecureRandom random SecureRandom.getInstance(SHA1PRNG);import cn.hutool.core.util.HexUtil;import com.spinfo.common.constants.UserConstants;import com.spinfo.controller.UserController;import org.bouncycastle.jce.provider.BouncyCastleProvider;import org.bouncycastle.util.encoders.Base64;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.util.DigestUtils;import javax.crypto.*;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;import java.security.*;import java.util.Arrays;public class SM4Util {private static Logger logger LoggerFactory.getLogger(SM4Util.class);private static final String PROVIDER_NAME BC;public static final String ALGORITHM_NAME SM4;public static final String ALGORITHM_NAME_ECB_PADDING SM4/ECB/PKCS5Padding;public static final String ALGORITHM_NAME_CBC_PADDING SM4/CBC/PKCS5Padding;public static final String DEFAULT_KEY random_seed;public static final int DEFAULT_KEY_SIZE 128;private static final int ENCRYPT_MODE 1;private static final int DECRYPT_MODE 2;static {Security.addProvider(new BouncyCastleProvider());}public static byte[] generateKey() throws NoSuchAlgorithmException, NoSuchProviderException {return generateKey(DEFAULT_KEY, DEFAULT_KEY_SIZE);}public static byte[] generateKey(String seed) throws NoSuchAlgorithmException, NoSuchProviderException {return generateKey(seed, DEFAULT_KEY_SIZE);}public static byte[] generateKey(String seed, int keySize) throws NoSuchAlgorithmException, NoSuchProviderException {KeyGenerator kg KeyGenerator.getInstance(ALGORITHM_NAME, PROVIDER_NAME);SecureRandom random SecureRandom.getInstance(SHA1PRNG);if(null ! seed !.equals(seed)){random.setSeed(seed.getBytes());}kg.init(keySize, random);return kg.generateKey().getEncoded();}/*** ecb 加密* param key* param data*/public static byte[] encryptEcbPadding(byte[] key, byte[] data) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException {Cipher cipher generateEcbCipher(ENCRYPT_MODE, key);return cipher.doFinal(data);}/*** ecb 解密* param key* param cipherText*/public static byte[] decryptEcbPadding(byte[] key, byte[] cipherText) throws IllegalBlockSizeException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException {Cipher cipher generateEcbCipher(DECRYPT_MODE, key);return cipher.doFinal(cipherText);}/*** cbc 加密* param key* param data*/public static byte[] encryptCbcPadding(byte[] key, byte[] iv, byte[] data) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, InvalidAlgorithmParameterException {Cipher cipher generateCbcCipher(ENCRYPT_MODE, key, iv);return cipher.doFinal(data);}public static String encryptCbcPaddingString(byte[] key, byte[] iv, byte[] data) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, InvalidAlgorithmParameterException {Cipher cipher generateCbcCipher(ENCRYPT_MODE, key, iv);byte[] result cipher.doFinal(data);return Base64.toBase64String(result);}/*** cbc 解密* param key* param iv* param cipherText*/public static byte[] decryptCbcPadding(byte[] key, byte[] iv, String cipherText) throws IllegalBlockSizeException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException, InvalidAlgorithmParameterException {byte[] cipherBytes Base64.decode(cipherText);Cipher cipher generateCbcCipher(DECRYPT_MODE, key, iv);return cipher.doFinal(cipherBytes);}public static byte[] decryptCbcPadding(byte[] key, byte[] iv, byte[] cipherText) throws IllegalBlockSizeException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException, InvalidAlgorithmParameterException {Cipher cipher generateCbcCipher(DECRYPT_MODE, key, iv);return cipher.doFinal(cipherText);}/*** ecb cipher* param mode* param key* return*/private static Cipher generateEcbCipher(int mode, byte[] key) throws NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException, InvalidKeyException {Cipher cipher Cipher.getInstance(ALGORITHM_NAME_ECB_PADDING, PROVIDER_NAME);Key sm4Key new SecretKeySpec(key, ALGORITHM_NAME);cipher.init(mode, sm4Key);return cipher;}/*** cbc cipher* param mode* param key* return*/private static Cipher generateCbcCipher(int mode, byte[] key, byte[] iv) throws InvalidKeyException, InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException {Cipher cipher Cipher.getInstance(ALGORITHM_NAME_CBC_PADDING, PROVIDER_NAME);Key sm4Key new SecretKeySpec(key, ALGORITHM_NAME);IvParameterSpec ivParameterSpec new IvParameterSpec(iv);cipher.init(mode, sm4Key, ivParameterSpec);return cipher;}/*** ecb 加密 times 次* param data* param salt* param times* return*/public static String encryptEcbDataTimes(String data, String salt, int times) throws GeneralSecurityException {try {byte[] key HexUtil.decodeHex(salt);byte[] bytes data.getBytes();for(int i 0; i times; i) {bytes encryptEcbPadding(key, bytes);}data Base64.toBase64String(bytes);return data;} catch (BadPaddingException | IllegalBlockSizeException | NoSuchPaddingException | NoSuchProviderException | NoSuchAlgorithmException | InvalidKeyException var5) {throw new GeneralSecurityException(SM4加密失败);}}/*** ecb 解密 times 次* param data* param salt* param times* return* throws GeneralSecurityException*/public static String decryptEcbDataTimes(String data, String salt, int times) throws GeneralSecurityException {try {byte[] bytes Base64.decode(data);byte[] key HexUtil.decodeHex(salt);for(int i 0; i times; i) {bytes decryptEcbPadding(key, bytes);}data new String(bytes);return data;} catch (BadPaddingException | IllegalBlockSizeException | NoSuchPaddingException | NoSuchProviderException | NoSuchAlgorithmException | InvalidKeyException var5) {throw new GeneralSecurityException(SM4解密失败);}}/*** cbc 加密 times 次* param data* param salt* param times* return*/public static String encryptCbcDataTimes(String data, String salt, int times) {try {byte[] iv generateKey();byte[] key generateKey(salt);byte[] bytes data.getBytes();Cipher cipher generateCbcCipher(ENCRYPT_MODE, key, iv);for(int i 0; i times; i) {bytes cipher.doFinal(bytes);}data Base64.toBase64String(bytes);return data;} catch (Exception e) {e.printStackTrace();return null;}}/*** cbc 解密 times 次* param data* param salt* param times* return* throws GeneralSecurityException*/public static String decryptCbcDataTimes(String data, String salt, int times) throws GeneralSecurityException {try {byte[] iv generateKey();byte[] bytes Base64.decode(data);byte[] key generateKey(salt);Cipher cipher generateCbcCipher(ENCRYPT_MODE, key, iv);for(int i 0; i times; i) {bytes cipher.doFinal(bytes);}data new String(bytes);return data;} catch (BadPaddingException | IllegalBlockSizeException | NoSuchPaddingException | NoSuchProviderException | NoSuchAlgorithmException | InvalidKeyException var5) {throw new GeneralSecurityException(SM4解密失败);}}}
http://www.pierceye.com/news/596834/

相关文章:

  • 河北邢台移动网站建设单片机做网站
  • 佛山网站制作的公司做文库网站怎么赚钱吗
  • 博客网站 做淘宝客咸阳网站建设推广
  • 佛山手机网站建设优化做网站要多大的画布
  • 网站结构优化包括什么网站建设定制开发
  • 做装修的有那些网站wordpress获取用户位置
  • 找事做网站公司网站网页设计
  • 网站数据哪个网站可以做图片
  • 网站添加google地图阿里云服务器可以访问国外网站吗
  • 大连免费网站制作重庆哪些网站推广公司
  • 查建设工程规划许可证网站广州模板建站公司
  • 怎么做网站的超级链接有哪些做的很漂亮的网站
  • 做旅游网站挣钱吗wordpress 虎嗅网
  • 乐清网站制作的公司php 网站源代码
  • 外国知名个人网站衡阳做网站公司
  • 女人网站源码沈阳大型网站制作公司
  • 河南外贸网站建设中国建设银行密码重置网站
  • 搭建网站是什么专业资阳网络营销顾问招聘
  • 建个门户网站网站开发人员配备
  • 营销型网站建设 上海工程造价
  • 做暧暧暖网站想建个企业网站
  • 南通做外贸的公司网站建筑招聘求职网
  • 网站排名顾问江苏省建设网站首页
  • 青岛找网站建设公司印记室内设计网站
  • 上海网站建设聚众网络网站对域名
  • 可做百科资料参考的网站福州网页定制
  • 开发一个网站需要多长时间高端网站定制开发设计制作
  • 桐乡做网站的公司视频网站建站费用
  • 企业网站建设服务网站制作的困难与解决方案
  • 宜昌营销型网站内存优化大师