hash-identifier,hashcat的使用教程:

一,hash-identifier:

hash-identifier介绍:识别哈希算法类型

(1)、hash-identifier下载:kali自带

(2)、hash-identifier使用:

hash-identifier 

在这里插入图片描述

二,shcat:

shcat介绍:破解密码工具

(3)、shcat下载:kali自带

(4)、shcat使用:

-m 指定哈希类型
-a 指定攻击模式,有5中模式
0 Straight(字典破解)
1 Combination(组合破解)
3 Brute-force(掩码暴力破解)
6 Hybrid dict + mask(混合字典+掩码)
7 Hybrid mask + dict(混合掩码+字典)
-o 输出文件
-stdout 指定基础文件
-r 指定规则文件
–force 强制进行破解
–show 显示破解结果

-V 打印出版本
-h 查看帮助

常见哈希类型:

在这里插入图片描述
举例:

hashcat -m 1600 -a 0 '$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1' /usr/share/wordlists/rockyou.txt --force

-m 1600 表示哈希类型为 APR1 类型,-a 0 表示使用字典攻击模式,$apr1 9 f g G / h i M 9fgG/hiM 9fgG/hiMBtsL9qpNHUlylaLxk81qY1 是待破解的哈希值,rockyou.txt 则是密码字典的文件路径。–force 参数可以强制执行命令,即忽略警告信息。

注:‘$apr1 9 f g G / h i M 9fgG/hiM 9fgG/hiMBtsL9qpNHUlylaLxk81qY1’ 哈希必须带引号括起来。

显示密码为:fatherrrrr

![在这里插入图片描述](https://img-blog.csdnimg.cn/1e648fa62b6a45f38d37d56b42844667.pn

如果密码过于复杂,则会显示如下:

在这里插入图片描述

输入s,显示正在进行过程信息:

在这里插入图片描述

### 使用 Docker 部署 IPFS 并与 Java 进行交互 #### 一、使用 Docker 部署 IPFS 为了快速启动并运行 IPFS 节点,可以利用官方的 `ipfs/go-ipfs` 容器镜像。以下是具体方法: 1. **拉取 IPFS 的 Docker 镜像** 执行以下命令以获取最新的 IPFS 镜像: ```bash docker pull ipfs/go-ipfs:v0.13.0 ``` 2. **运行 IPFS 容器** 创建一个新的容器实例,并初始化 IPFS 节点: ```bash docker run -it --name my-ipfs-node \ -v /path/to/ipfs/repo:/data/ipfs \ -p 5001:5001 -p 8080:8080 -p 4001:4001 \ ipfs/go-ipfs:v0.13.0 init && ipfs daemon ``` 上述命令中的端口映射解释如下: - `-p 5001`: API 接口,默认用于控制节点。 - `-p 8080`: Web UI 和网关接口。 - `-p 4001`: P2P 网络通信。 同时,`-v` 参数挂载了一个主机目录到容器内的 `/data/ipfs`,这样即使容器被删除,数据也不会丢失[^1]。 3. **验证 IPFS 是否正常运行** 访问浏览器地址 `http://localhost:8080/ipns/k51qzi5uqu5dgrl0169vkplk7nprtndztkwzfjua`, 如果看到默认页面,则说明 IPFS 已成功部署。 --- #### 二、通过 Java SDK 与 IPFS 进行交互 IPFS 提供了多种编程语言的支持库,其中 Java 可以借助第三方库如 `java-ipfs-http-client` 来实现与 IPFS 的交互。 1. **引入依赖项** 在 Maven 或 Gradle 中添加以下依赖项: - 对于 Maven,在项目的 `pom.xml` 文件中加入: ```xml <dependency> <groupId>org.ipfs</groupId> <artifactId>java-ipfs-http-client</artifactId> <version>1.3.0</version> </dependency> ``` - 对于 Gradle,在 `build.gradle` 文件中加入: ```gradle implementation 'org.ipfs:java-ipfs-http-client:1.3.0' ``` 2. **编写 Java 代码连接至 IPFS** 下面是一个简单的示例程序,展示如何上传文件到 IPFS 并检索其哈希值: ```java import org.web3j.crypto.Hash; import tech.beshu.ipfs.api.IpfsApi; import tech.beshu.ipfs.multiaddr.MultiAddress; public class IpfsExample { public static void main(String[] args) throws Exception { String host = "127.0.0.1"; int port = 5001; // 默认API端口 MultiAddress multiAddr = new MultiAddress("/ip4/" + host + "/tcp/" + port); IpfsApi ipfsClient = IpfsApi.build(multiAddr); byte[] fileContent = "Hello, IPFS!".getBytes(); String hash = ipfsClient.add(fileContent).getHash(); // 添加文件到IPFS System.out.println("File Hash: " + hash); // 输出CID (Content Identifier) byte[] retrievedData = ipfsClient.cat(hash).toByteArray(); // 获取文件内容 System.out.println(new String(retrievedData)); // 显示原始内容 } } ``` 此代码片段实现了两个主要功能:一是将字符串作为文件存储到 IPFS;二是从 IPFS 检索该文件的内容[^2]。 --- #### 三、注意事项 - **网络连通性**: 若 IPFS 节点无法访问外部互联网,可能会影响与其他节点同步的能力。 - **资源占用**: IPFS 是一种分布式系统,长期运行可能会消耗较多磁盘空间和带宽。 - **安全性**: 敏感数据应加密后再上传至公共 IPFS 网络,因为 CID 哈希一旦公开即可被任何人读取。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值