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

判断网站到期宿州北京网站建设

判断网站到期,宿州北京网站建设,中山企业网站建设,北京注册公司麻烦吗最近从Navicat换到了DBeaver#xff0c;导出配置文件发现配置文件里的密码都是加密的#xff0c;看网上的都是给的PHP代码#xff0c;因为环境问题#xff0c;就算是在线上运行的PHP代码也会报错#xff0c;所以就把这段代码改成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/14343066/

相关文章:

  • 商场网站建设模板shopex网站首页空白
  • 网站统计查询策划行业网站
  • 研究院 网站建设徐州市建设监理协会网站
  • 网站制作与维护费用成都网站营销
  • 网站建设方案书是什么哪些是企业网站
  • 能制作网站的公司联系方式一站式服务理念
  • 如果使用自己电脑做网站天津西青区旅游景点大全
  • 泸州市建设局网站企业信用信息查询公示系统全国
  • 湖北省住房和建设厅官方网站wordpress主题 评论
  • php网站开发视频网站刚做的网站多久能被搜索到
  • 美橙建站怎么样iis 里没有网站吗
  • 网站建设工作推进会上的讲话简单医院网站
  • 长沙网站开发微联讯点官网制作网站建设入门
  • 哪里有做阿里网站的合肥网络优化公司有几家
  • 做淘宝客要建网站吗会话框插件wordpress
  • 做食品网站有哪些江阴建设局官方网站
  • 建站登录兰州事件最新进展
  • 名师工作室建设名师网站修改图片网站
  • 西安西工大软件园做网站的公司简单网页设计模板代码大全
  • 建站模板网站nginx ssl wordpress
  • 北京网站如何做推广企业网站服务器的选择
  • 网站广告调词软件企业设计网站公司有哪些
  • 聚美优品网站模版芙蓉区网站建设公司
  • 厦门同安网站制作企业网络营销公司赚钱吗
  • 做外贸网站的公司旅游类网站设计
  • 建设一个门户网站 费用太原网站建设制作公司哪家好
  • 建设门户网站的申请小程序开发平台多少钱
  • 聪明的上海网站创建软件app
  • 数据库对于做网站的重要性株洲网站建设服务
  • 网站怎么添加代码sae wordpress ftp