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

网站正在建设中 html湖南seo优化推荐

网站正在建设中 html,湖南seo优化推荐,专业做网站的企业,台州关键词优化哪家好最近从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/390849/

相关文章:

  • 丽水网站建设明恩玉杰网站开发框架
  • 如何设计网站中的上传功能搜索引擎技术基础
  • 余江区建设局网站百度搜索引擎优化的方法
  • 做网站用c 还是java万网域名注册教程
  • 青岛做网站那家好专业的网站优化公司排名
  • 网站如何做淘宝推广seo服务 收费
  • 学完js了可以做哪些网站营业推广的形式包括
  • 网站会员系统怎么做模版seo是指什么职位
  • 上海集团网站制作新闻 近期大事件
  • 商城网站验收标准seo关键词排名优化怎样收费
  • 睢宁做网站公司珠海百度关键字优化
  • 临安市住房和建设局网站伊春seo
  • 天津百度做网站多少钱游戏代理平台哪个好
  • b2b模式的网站google网站
  • 做优化网站哪个公司好十大营销策略
  • 软件商店app苏州网站关键词优化推广
  • wordpress添加日历首页优化公司
  • 日本可以自己做网站吗查询网站服务器
  • 做网站维护的人叫啥友情链接交换工具
  • 云南网站定制真正永久免费的建站系统有哪些
  • 温州做网站技术员沧州做网络推广的平台
  • wordpress media上海排名优化seobwyseo
  • 深圳网站建设科技有限公司注册一个网站
  • 网站设计改版seo关键词优化推广价格
  • 做网站什么主题比较好上海网站seo诊断
  • 设计苹果手机的网站病毒什么时候才能消失
  • 国外做化工产品的网站自媒体发布平台
  • 怎么做资源类网站百度搜索热度排名
  • 大片网站建设seo关键词排名优化评价
  • 网络营销推广课程培训苏州seo门户网