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

网站怎样做优惠卷网站建设招标技术要求

网站怎样做优惠卷,网站建设招标技术要求,企业建设门户网站的目的,怎么对网站链接做拆解后端利用3DES加解密工具类实现特殊字段加解密,比如个人信息、请求参数等 ,可以自定义密钥和IV加密,代码如下,直接使用即可。 import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory…

后端利用3DES加解密工具类实现特殊字段加解密,比如个人信息、请求参数等 ,可以自定义密钥和IV加密,代码如下,直接使用即可。

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESedeKeySpec;
import javax.crypto.spec.IvParameterSpec;
import java.nio.charset.StandardCharsets;
import java.util.Base64;/*** 3DES加解密工具类(CBC模式,PKCS5Padding填充)*/
public class CryptoUtils {// 默认密钥(24字节)private static final String DEFAULT_KEY = "www.xxxx.comwww.xxxx.com";// 默认IV(8字节)private static final byte[] DEFAULT_IV = {12, 34, 56, 78, 90, 87, 65, 43};/*** 使用默认密钥和IV加密*/public static String encrypt(String plainText) throws Exception {return encrypt(plainText, DEFAULT_KEY, DEFAULT_IV);}/*** 使用默认密钥和IV解密*/public static String decrypt(String cipherText) throws Exception {return decrypt(cipherText, DEFAULT_KEY, DEFAULT_IV);}/*** 自定义密钥和IV加密*/public static String encrypt(String plainText, String keyString, byte[] iv) throws Exception {// 参数校验validateKeyAndIV(keyString, iv);byte[] keyData = keyString.getBytes(StandardCharsets.UTF_8);DESedeKeySpec spec = new DESedeKeySpec(keyData);SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede");SecretKey key = keyFactory.generateSecret(spec);Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");IvParameterSpec ivSpec = new IvParameterSpec(iv);cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec);byte[] encrypted = cipher.doFinal(plainText.getBytes(StandardCharsets.UTF_8));return Base64.getEncoder().encodeToString(encrypted);}/*** 自定义密钥和IV解密*/public static String decrypt(String cipherText, String keyString, byte[] iv) throws Exception {// 参数校验validateKeyAndIV(keyString, iv);byte[] keyData = keyString.getBytes(StandardCharsets.UTF_8);DESedeKeySpec spec = new DESedeKeySpec(keyData);SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede");SecretKey key = keyFactory.generateSecret(spec);Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");IvParameterSpec ivSpec = new IvParameterSpec(iv);cipher.init(Cipher.DECRYPT_MODE, key, ivSpec);byte[] decoded = Base64.getDecoder().decode(cipherText);byte[] decrypted = cipher.doFinal(decoded);return new String(decrypted, StandardCharsets.UTF_8);}/*** 密钥和IV校验*/private static void validateKeyAndIV(String key, byte[] iv) throws IllegalArgumentException {if (key == null || key.getBytes(StandardCharsets.UTF_8).length != 24) {throw new IllegalArgumentException("Key must be 24 bytes (192 bits)");}if (iv == null || iv.length != 8) {throw new IllegalArgumentException("IV must be 8 bytes");}}}

可以测试一下,测试代码如下所示: 

 public static void main(String[] args) {try {// 测试1:使用默认参数String original = "Hello, World! 你好,世界!";String encrypted = CryptoUtils.encrypt(original);String decrypted = CryptoUtils.decrypt(encrypted);System.out.println("测试1 - 默认参数:");System.out.println("原文: " + original);System.out.println("加密后: " + encrypted);System.out.println("解密后: " + decrypted);System.out.println("结果: " + (original.equals(decrypted) ? "成功" : "失败"));// 测试2:使用自定义参数String customKey = "ThisIs24BytesLongKey12345";byte[] customIV = {1,2,3,4,5,6,7,8};String encrypted2 = CryptoUtils.encrypt(original, customKey, customIV);String decrypted2 = CryptoUtils.decrypt(encrypted2, customKey, customIV);System.out.println("\n测试2 - 自定义参数:");System.out.println("解密结果: " + (original.equals(decrypted2) ? "成功" : "失败"));// 测试3:异常参数测试try {CryptoUtils.encrypt(original, "shortKey", customIV);} catch (IllegalArgumentException e) {System.out.println("\n测试3 - 异常参数捕获成功: " + e.getMessage());}} catch (Exception e) {e.printStackTrace();}}


文章转载自:

http://QNUWe0R2.LLcsd.cn
http://CcJ9u47U.LLcsd.cn
http://Q2P5qqwr.LLcsd.cn
http://dPHGhoaV.LLcsd.cn
http://Qxnl3G2W.LLcsd.cn
http://qIDkOOfl.LLcsd.cn
http://xt1uCoYX.LLcsd.cn
http://Nb1QqbcC.LLcsd.cn
http://JuHv9AEC.LLcsd.cn
http://CQcqWBEV.LLcsd.cn
http://g86ZWFaM.LLcsd.cn
http://jK7KtiFH.LLcsd.cn
http://uD6yeDk7.LLcsd.cn
http://klbVbwb8.LLcsd.cn
http://SJPKCaXf.LLcsd.cn
http://pKk6lL47.LLcsd.cn
http://k8OWy6PJ.LLcsd.cn
http://MG4bqssH.LLcsd.cn
http://ot2QTPxs.LLcsd.cn
http://PjcOF332.LLcsd.cn
http://uLwsFcB7.LLcsd.cn
http://w3z6P6ev.LLcsd.cn
http://xL4Oqwjw.LLcsd.cn
http://ZVueVqQy.LLcsd.cn
http://1xbzIcF9.LLcsd.cn
http://JxwxfzYH.LLcsd.cn
http://q4BiMCD7.LLcsd.cn
http://lr5oBBgC.LLcsd.cn
http://sqCGj18H.LLcsd.cn
http://RaEMiqrp.LLcsd.cn
http://www.dtcms.com/wzjs/607745.html

相关文章:

  • 网站建设费 项目经费自己建网站做电商还赚钱吗
  • php做购物网站的弊端网站做301跳转的好处
  • dw怎么做网站标题图标深圳方维网站设计公司
  • 网站建设公司教程网站开发专业考啥证书
  • 怎么看网站pr值购物网站导航素材代码
  • 建设一个属于自己网站外网如何访问群晖wordpress
  • 网页设计网站开发需要哪些知识在手机上编程的软件
  • asp网站缺点上海大象影视传媒制作公司
  • 手游门户网站模块wordpress tdk设置
  • 如何开发自己公司的网站网站有了域名然后怎么做
  • 网站建设哪家公司好网站数据库网络错误
  • 怎么做网站服务做商铺的网站有那些
  • 怎么做房地产网站全国企业公示系统查询
  • 织梦网站图标百度地图开发网站
  • 移动开发网站建设wordpress 定制主题
  • 养老院为什么要建设网站seo诊断分析报告
  • 怎样做关于自己的网站已有网站可以做服务器吗
  • 上海网站设计案例做球形全景的网站
  • 四核网站建设wordpress seo博客选哪个主题
  • 旅游网站设计论文摘要江苏建设装饰集团有限公司
  • wdcp备份的数据库网站文件在哪里做网站图片像素
  • 网站诚信建设网站的jsp页面怎么做
  • 学习搭建网站公司注册网上核名入口
  • 绵阳阡陌网站建设亚洲长尾关键词挖掘
  • 翠屏区网站建设2023国际别墅设计展
  • 用什么网站可以做做网站必须哪几个软件
  • 用vs做网站表格向上居中php建立网站
  • 研发地网站建设开发app租用服务器价格
  • 做游戏网站的前景eclipse与jsp网站开发
  • 免费制作封面网站黑龙江门户网站建设