如何获取Finalshell中保存的密码

这篇具有很好参考价值的文章主要介绍了如何获取Finalshell中保存的密码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通过Finalshell工具连接linux服务之后,但是忘记了linux登入密码,不需要重置就可以找回,步骤如下

步骤1,找到finalshell工具安装路径

finalshell如何查看保存的账号密码,java,android,jvm

步骤2,该文件夹下面文件都是以连接过的服务主机名称命名的,打开你忘记密码的主机名称文件

finalshell如何查看保存的账号密码,java,android,jvm

步骤3,文件中password后面绿色就是加密的密码 如图

finalshell如何查看保存的账号密码,java,android,jvm 

步骤4,如下图解密代码,把加密密码当做入参,执行一下main方法,控制台就可以打印出解密的密码

package cn.demo.controller;
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.println(decodePass("e0QlMF52FiAGXQl0r1RQao7UE9PbfFm+"));
    }
    public static byte[] desDecode(byte[] data, byte[] head) throws Exception {
        SecureRandom sr = new SecureRandom();
        DESKeySpec dks = new DESKeySpec(head);
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
        SecretKey securekey = keyFactory.generateSecret(dks);
        Cipher cipher = Cipher.getInstance("DES");
        cipher.init(2, securekey, sr);
        return cipher.doFinal(data);
    }
    public static String decodePass(String data) throws Exception {
        if (data == null) {
            return null;
        } else {
            String rs = "";
            byte[] buf = Base64.getDecoder().decode(data);
            byte[] head = new byte[8];
            System.arraycopy(buf, 0, head, 0, head.length);
            byte[] d = new byte[buf.length - head.length];
            System.arraycopy(buf, head.length, d, 0, d.length);
            byte[] bt = desDecode(d, ranDomKey(head));
            rs = new String(bt);

            return rs;
        }
    }
    static byte[] ranDomKey(byte[] head) {
        long ks = 3680984568597093857L / (long)(new Random((long)head[5])).nextInt(127);
        Random random = new Random(ks);
        int t = head[0];

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

        long n = random.nextLong();
        Random r2 = new Random(n);
        long[] ld = new long[]{(long)head[4], r2.nextLong(), (long)head[7], (long)head[3], r2.nextLong(), (long)head[1], random.nextLong(), (long)head[2]};
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(bos);
        long[] var15 = ld;
        int var14 = ld.length;

        for(int var13 = 0; var13 < var14; ++var13) {
            long l = var15[var13];

            try {
                dos.writeLong(l);
            } catch (IOException var18) {
                var18.printStackTrace();
            }
        }

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

        byte[] keyData = bos.toByteArray();
        keyData = md5(keyData);
        return keyData;
    }
    public static byte[] md5(byte[] data) {
        String ret = null;
        byte[] res=null;

        try {
            MessageDigest m;
            m = MessageDigest.getInstance("MD5");
            m.update(data, 0, data.length);
            res=m.digest();
            ret = new BigInteger(1, res).toString(16);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return res;
    }
}

步骤5,如图

finalshell如何查看保存的账号密码,java,android,jvm 

 文章来源地址https://www.toymoban.com/news/detail-596903.html

步骤6,连接成功。

finalshell如何查看保存的账号密码,java,android,jvm

 

 

 

到了这里,关于如何获取Finalshell中保存的密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL如何查看/监控/处理账号密码过期问题

    MySQL 8.0.x中,我们如果按安全规范配置了账号密码过期策略的话,那么如何查看账号密码还有多长时间就会过期;如何做好账号密码过期监控;以及提前及时处理账号密码过期问题就是DBA必须处理的一些事情。这里简单讨论一下这些事情。个人经验仅供参考,如有不足或错误

    2024年03月09日
    浏览(56)
  • 如何使用FinalShell远程连接工具优雅的远程连接Linux操作系统的服务器

            随着互联网的发展,越来越多的人需要远程访问和管理远程服务器或计算机。远程连接工具应运而生,以满足人们的远程访问需求。远程连接工具可以让用户远程登录到其他计算机或服务器,并执行各种操作,而无需身处物理位置。这极大地便利了用户,节省了时

    2024年02月03日
    浏览(67)
  • Finalshell连Linux服务器一直需要密码,常用方法都试过了还是不行,最后发现是IP地址错了,要用阿里云提供的IP地址

    阿里云买的轻量应用服务器,初次用finalshell连,试过了 1.修改sshd_config文件 2.修改root密码 3创建新用户 都没有成功,最后发现原来是一个IP地址有问题,不是用ifconfig获得的地址,而是在 轻量应用服务器-远程连接 中就告诉了SSH客户端软件要连的IP地址,用这个地址就可以了

    2024年02月14日
    浏览(45)
  • FinalShell 前端发布 命令

    1.前端包打包,压缩 2.连接FinalShell (工具可以有很多替代产品) 3.上传文件到该发布的位置 4.双击ctrl切换到终端 5.键入命令:ls  //查看当前所在目录的所有文件 6.键入命令:cd . //退回上一级 cd .. //进入下一级 7.找到压缩包,键入命令:unzip dist.zip //解压压缩包dist.zip 扩展命

    2024年02月16日
    浏览(30)
  • 使用FinalShell连接虚拟机

    操作环境 VMware16 CentOS7 FinalShell 在虚拟机当中修改配置 进入指定目录 查看文件 不同系统的文件名不同 使用vim编辑配置文件 这一步非常重要,首先要将BOOTPROTO改为static,ONBOOT为yes 获取IP地址 打开虚拟网络编辑器 按图示进行操作,点开DHCP设置会看到起始IP地址和结束IP地址,

    2023年04月21日
    浏览(42)
  • 解决FInalShell连接VMware问题

            由于每次开机重启之后ip地址会变化,从而导致finalshell连接不上VMware虚拟机,可以按照这个方法尝试一下,亲测有效。 首先进入/etc/sysconfig/network-scripts/目录 cd /etc/sysconfig/network-scripts/         然后编辑文件 ifcfg-ens33          这样就配置好了,可以通过ifconfig查

    2024年02月08日
    浏览(44)
  • FinalShell 远程连接Linux系统

    使用命令行操作Linux系统 尽管图形化是大多数人使用计算机的第一选择,但是在Linux操作系统上,这个选择被反转了。 无论是企业开发亦或是个人开发,使用Linux操作系统,多数都是使用的: 命令行 。 这是因为: Linux从诞生至今,在图形化页面的优化上,并未重点发力。所

    2024年04月25日
    浏览(34)
  • TortoiseGit(小乌龟)设置保存账号密码

    在我们使用Tortoise git 时,默认是需要在每次提交代码时输入你的账号和密码的,这样在实际使用时会觉得非常繁琐且费时.于是我们可以简单设置下配置文件,便可保存下账号密码,下次在使用时就不必再次手动输入. 点击 Git 选项,然后点击右侧的全局,最后输入用户名和邮箱即可

    2024年02月16日
    浏览(55)
  • 使用finalshell连接虚拟机(Ubuntu)

    目录 一、下载finalshell  二、指令输入 三、使用finalshell连接虚拟机  finalshell官方 FinalShell官网 (hostbuf.com) 点击这里进去选择自己需要的版本下载即可。 指令1:sudo apt update          指令解释:         这条指令是,更新系统中所有可用软件包的最新版本信息,但不会实

    2024年04月09日
    浏览(46)
  • Finalshell 私钥连接服务器

    使用私钥连接服务器就不用输入密码了 首先,把你的公钥给运维,一般生成公钥后,在用户目录下找即可 新增连接 选完报错 那就在私钥所在目录下,cmd,然后执行 重新导入即可

    2024年02月14日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包