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

能在线做初中题的网站优化设计电子课本下载

能在线做初中题的网站,优化设计电子课本下载,中学生制作网站怎么做,杰奇小说网站建设最近从Navicat换到了DBeaver,导出配置文件发现配置文件里的密码都是加密的,看网上的都是给的PHP代码,因为环境问题,就算是在线上运行的PHP代码也会报错,所以就把这段代码改成Java了。 package com.unicdata.system.con…

最近从Navicat换到了DBeaver,导出配置文件发现配置文件里的密码都是加密的,看网上的都是给的PHP代码,因为环境问题,就算是在线上运行的PHP代码也会报错,所以就把这段代码改成Java了。

package com.unicdata.system.controller.marketing;/*** @Author: PengShangXing* @Date: 2025/01/07/0007 15:13*/import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.util.Arrays;/*** @Author: PengShangXing* @Date: 2025/01/07/0007 15:13*/
public class NavicatPassword {private int version = 0;private final String aesKey = "libcckeylibcckey";private final String aesIv = "libcciv libcciv ";private final String blowString = "3DC5CA39";private byte[] blowKey;private byte[] blowIv;public NavicatPassword(int version) {this.version = version;this.blowKey = sha1("3DC5CA39");this.blowIv = hexToBytes("d9c7c3c8870d64bd");}public String encrypt(String string) throws Exception {String result = null;switch (this.version) {case 11:result = encryptEleven(string);break;case 12:result = encryptTwelve(string);break;default:break;}return result;}private String encryptEleven(String string) throws Exception {int round = string.length() / 8;int leftLength = string.length() % 8;StringBuilder result = new StringBuilder();byte[] currentVector = blowIv;for (int i = 0; i < round; i++) {byte[] temp = encryptBlock(xorBytes(string.substring(8 * i, 8 * (i + 1)).getBytes(), currentVector));currentVector = xorBytes(currentVector, temp);result.append(bytesToHex(temp));}if (leftLength > 0) {currentVector = encryptBlock(currentVector);result.append(bytesToHex(xorBytes(string.substring(8 * round).getBytes(), currentVector)));}return result.toString().toUpperCase();}private byte[] encryptBlock(byte[] block) throws Exception {Cipher cipher = Cipher.getInstance("Blowfish/ECB/NoPadding");SecretKeySpec keySpec = new SecretKeySpec(blowKey, "Blowfish");cipher.init(Cipher.ENCRYPT_MODE, keySpec);return cipher.doFinal(block);}private byte[] decryptBlock(byte[] block) throws Exception {Cipher cipher = Cipher.getInstance("Blowfish/ECB/NoPadding");SecretKeySpec keySpec = new SecretKeySpec(blowKey, "Blowfish");cipher.init(Cipher.DECRYPT_MODE, keySpec);return cipher.doFinal(block);}private String encryptTwelve(String string) throws Exception {Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");SecretKeySpec keySpec = new SecretKeySpec(aesKey.getBytes(), "AES");IvParameterSpec ivSpec = new IvParameterSpec(aesIv.getBytes());cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec);byte[] encrypted = cipher.doFinal(string.getBytes());return bytesToHex(encrypted).toUpperCase();}public String decrypt(String string) throws Exception {String result = null;switch (this.version) {case 11:result = decryptEleven(string);break;case 12:result = decryptTwelve(string);break;default:break;}return result;}private String decryptEleven(String upperString) throws Exception {byte[] string = hexToBytes(upperString.toLowerCase());int round = string.length / 8;int leftLength = string.length % 8;StringBuilder result = new StringBuilder();byte[] currentVector = blowIv;for (int i = 0; i < round; i++) {byte[] encryptedBlock = Arrays.copyOfRange(string, 8 * i, 8 * (i + 1));byte[] temp = xorBytes(decryptBlock(encryptedBlock), currentVector);currentVector = xorBytes(currentVector, encryptedBlock);result.append(new String(temp));}if (leftLength > 0) {currentVector = encryptBlock(currentVector);result.append(new String(xorBytes(Arrays.copyOfRange(string, 8 * round, string.length), currentVector)));}return result.toString();}private String decryptTwelve(String upperString) throws Exception {// 将十六进制字符串转换为字节数组byte[] string = hexToBytes(upperString.toLowerCase());// 初始化AES解密Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");SecretKeySpec keySpec = new SecretKeySpec(aesKey.getBytes("UTF-8"), "AES");IvParameterSpec ivSpec = new IvParameterSpec(aesIv.getBytes("UTF-8"));cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec);// 解密并按照UTF-8编码返回字符串return new String(cipher.doFinal(string), "UTF-8");}private byte[] xorBytes(byte[] str1, byte[] str2) {byte[] result = new byte[str1.length];for (int i = 0; i < str1.length; i++) {result[i] = (byte) (str1[i] ^ str2[i]);}return result;}private byte[] sha1(String input) {try {java.security.MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");return digest.digest(input.getBytes());} catch (Exception e) {throw new RuntimeException(e);}}private byte[] hexToBytes(String hex) {int len = hex.length();byte[] data = new byte[len / 2];for (int i = 0; i < len; i += 2) {data[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4)+ Character.digit(hex.charAt(i + 1), 16));}return data;}private String bytesToHex(byte[] bytes) {StringBuilder sb = new StringBuilder();for (byte b : bytes) {sb.append(String.format("%02x", b));}return sb.toString();}public static void main(String[] args) throws Exception {// Example usageNavicatPassword navicatPassword = new NavicatPassword(12);// DecryptString decode = navicatPassword.decrypt("xxxxx");System.out.println(decode);}}

http://www.hkea.cn/news/858248/

相关文章:

  • 济南网站搜索优化深圳网络推广招聘
  • 网站 色彩武汉it培训机构排名前十
  • 怎么做资源网站网络培训中心
  • 服装品牌网站建设营销网站建设选择原则
  • 乌鲁木齐新市网站建设有哪些网络营销公司
  • 网站的后台怎么做企业网络规划设计方案
  • 做网站文字字号大小企业网站设计要求
  • ae有么有做gif的网站品牌推广方案范文
  • apicloud官网下载seo关键词优化排名公司
  • 上海网站制作福州百度关键字优化精灵
  • 做uml图网站百度账号快速注册入口
  • 广西梧州南京 seo 价格
  • 网站警察备案seo关键词优化平台
  • 网站开发设计实训 报告惠州网站建设
  • 网站开发的原理山西免费网站关键词优化排名
  • 石家庄网站建设全包免费推广网站2024
  • 阿里云网站备案时间无锡seo网站管理
  • 景点介绍网站模板重庆百度关键词推广
  • 做亚马逊网站费用吗曲靖新闻今日头条
  • bing 网站管理员2023今日新闻头条
  • 深圳市做网站前十强百度一下搜索网页
  • 做执法设备有哪些网站国家免费培训学校
  • 顺德乐从有做阿里巴巴的网站吗杭州网站设计
  • 做英文网站 用阿里服务器行吗b2b网站推广排名
  • 搭建网站做淘宝客网赌怎么推广拉客户
  • 网站建设前台与后台最新技术2021最新免费的推广引流软件
  • 做网站基本语言淘宝如何提升关键词排名
  • wordpress怎样分类目录添加标签seo文章范文
  • 订阅号可以做网站吗南宁seo外包服务商
  • 邢台哪儿做网站便宜宁波 seo排名公司