一键找回FinalShell已经保存的密码


前言

日常工作中我们使用FinalShell连接我们的服务器,时间久了难免会忘记之前的密码,这个时候想要查看之前保存的密码,发现已经加密了,今天给大家推荐两种方法查看已经保存的连接密码。


方法一:在线一键解密(推荐)

首先登陆到在线解密的工具网址 链接

工具页面下方有使用教程,根据教程即可完成在线解密。
在这里插入图片描述

方法二: 自己运行java代码解密。

1. 打开FinaShell客户端.

点击左上角文件夹图表,在展开的连接菜单中找到你要找回密码的连接信息
右键后找到最下面的导出,然后选择“选中”
在这里插入图片描述

2. 打开导出的连接信息json文件

找出"password"字段,并且复制后面的加密内容如图中所示。“ciNoT3B0RDuqp2fGa+9wO6dc6WjeoKVCu0r5KJmdHeM=”
在这里插入图片描述

3. 把上一步获取的加密字符串替换后运行下面的代码即可输出解密的密码。

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Base64;
import java.util.Random;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;

public class FinalShellDecodePass {
    public static void main(String[] args) throws Exception {
        System.out.print(decodePassword("这里输入你的加密字符串"));
    }

    public static byte[] decryptDes(byte[] data, byte[] key) throws Exception {
        SecureRandom secureRandom = new SecureRandom();
        DESKeySpec desKeySpec = new DESKeySpec(key);
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
        SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
        Cipher cipher = Cipher.getInstance("DES");
        cipher.init(Cipher.DECRYPT_MODE, secretKey, secureRandom);
        return cipher.doFinal(data);
    }

    public static String decodePassword(String data) throws Exception {
        if (data == null) {
            return null;
        } else {
            byte[] decodedData = Base64.getDecoder().decode(data);
            byte[] head = new byte[8];
            System.arraycopy(decodedData, 0, head, 0, head.length);

            byte[] encryptedData = new byte[decodedData.length - head.length];
            System.arraycopy(decodedData, head.length, encryptedData, 0, encryptedData.length);
            
          
            
            byte[] decryptedData = decryptDes(encryptedData, generateRandomKey(head));
            return new String(decryptedData);
        }
    }

    static byte[] generateRandomKey(byte[] head) {
        long seed = 3680984568597093857L / (long) (new Random((long) head[5])).nextInt(127);
        Random random = new Random(seed);
        int t = head[0];

        for (int i = 0; i < t; ++i) {
            random.nextLong();
        }

        long n = random.nextLong();
        Random random2 = new Random(n);

        long[] keyData = {(long) head[4], random2.nextLong(), (long) head[7], (long) head[3], random2.nextLong(),
                (long) head[1], random.nextLong(), (long) head[2]};

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(bos);

        for (long l : keyData) {
            try {
                dos.writeLong(l);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        try {
            dos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        byte[] key = bos.toByteArray();
        return md5Hash(key);
    }

    public static byte[] md5Hash(byte[] data) {
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("MD5");
            messageDigest.update(data, 0, data.length);
            byte[] result = messageDigest.digest();
            return result;
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return null;
        }
    }
}

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Max 一键贴图找回插件" 是一款非常实用的Max工具插件,旨在帮助用户在使用Max软件时快速找回丢失的贴图文件。该插件能够帮助用户节省大量的时间和精力,在项目中发生文件丢失或路径错误时,快速恢复并重新连接贴图文件。 通过安装并使用Max 一键贴图找回插件,用户只需简单的操作即可找回丢失的贴图文件。首先,用户需要打开Max软件,然后在插件界面中选择需要找回的文件类型(如纹理、位图、贴图等)。接下来,用户可以通过选择 "查找" 按钮,系统将自动在指定的文件夹或存储位置中进行搜索,并将找到的贴图文件进行列举和显示。 一键贴图找回插件还提供了重新连接功能,当找到贴图文件后,用户可以选择重新连接并修复路径错误。该功能十分强大且智能,可以自动匹配匹配丢失文件与原始文件的名称、位置和属性,从而确保正确替换丢失的贴图文件。 此外,Max 一键贴图找回插件还支持批量操作,用户可以选择多个丢失的贴图文件,进行批量查找和重新连接,从而进一步提高工作效率和减少重复劳动。插件界面简洁明了,易于操作,也适用于初学者使用。 总之,Max 一键贴图找回插件为Max软件用户提供了一种便捷、高效的方式来找回丢失的贴图文件。通过其强大的搜索和重新连接功能,用户可以在短时间内快速解决丢失贴图文件的问题,提升工作效率,帮助用户更好地完成项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值