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

做平面设计在什么网站能挣钱外链平台

做平面设计在什么网站能挣钱,外链平台,网站建设公司上海做网站公司,网站建设思路方法文章目录 一、实现Sha-256加密1.创建项目2.编写Cargo.toml文件3.编写程序代码 二、sha256爆破1.获取命令行参数2.读取文件3.校验输入参数4.暴力破解 一、实现Sha-256加密 SHA-256是一种安全哈希算法,主要特点是将输入的数据(无论长度)通过特定…

文章目录

  • 一、实现Sha-256加密
    • 1.创建项目
    • 2.编写Cargo.toml文件
    • 3.编写程序代码
  • 二、sha256爆破
    • 1.获取命令行参数
    • 2.读取文件
    • 3.校验输入参数
    • 4.暴力破解


一、实现Sha-256加密

SHA-256是一种安全哈希算法,主要特点是将输入的数据(无论长度)通过特定的计算方式,生成一个固定长度为256位的哈希值,通常表示为64个十六进制字符。基于其单向性,即从哈希值无法逆推出原始输入数据,通常被用于密码的存储。

SHA-256是SHA-1算法的后继者,其名称来源于安全散列算法2(Secure Hash Algorithm 2)的缩写。SHA-2系列下包含六个不同的算法标准,分别是SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。这些变体在生成摘要的长度和一些微小细节上有所不同,但基本结构是一致的。

1.创建项目

$ cargo new sha256_cracker

2.编写Cargo.toml文件

因为Rust标准库本身并不直接提供SHA-256功能,通常使用外部库sha2完成,它提供了SHA-256以及其他SHA-2哈希算法的实现。

[package]
name = "sha256_cracker"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
# 以上为cargo自动创建,添加下面库就可以[dependencies]  
sha2 = "0.9.9"
hex = "0.4"

3.编写程序代码

use sha2::{Digest, Sha256};  fn main() {  let data = "admin123";  let hash = Sha256::digest(data.as_bytes());  // 将结果转换为十六进制字符串表示  let hash_hex = hex::encode(hash);  println!("SHA-256 hash of '{}' is {}", data, hash_hex);  //SHA-256 hash of 'admin123' is 240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9
}

二、sha256爆破

基于其单向性,即从哈希值无法逆推出原始输入数据,目前只能通过暴力破解的方式对密码进行匹配。

1.获取命令行参数

use std::env;
fn main() {let args: Vec<String> = env::args().collect();println!("{:?}",args); //["./sha256_cracker", "111", "222"]
}

2.读取文件

use std::{env,error::Error,fs::File,io::{BufRead, BufReader},
};
fn main() -> Result<(), Box<dyn Error>> {let args: Vec<String> = env::args().collect();let wordlist_file = File::open(&args[1])?;let reader = BufReader::new(&wordlist_file);for line in reader.lines() {let line = line?.trim().to_string();println!("{}", line);}Ok(())
}# /home/kali/Desktop/ctf/pass.txt是密码字典
$ ./sha256_cracker /home/kali/Desktop/ctf/pass.txt
admin888
test
123qwe
password123
1q2w3e
test123
mysql
....

3.校验输入参数

use std::{env,error::Error,fs::File,io::{BufRead, BufReader},
};
// 定义sha245 hash字符串的长度
const SHA256_HEX_STRING_LENGTH: usize = 64;
fn main() -> Result<(), Box<dyn Error>> {let args: Vec<String> = env::args().collect();// 输入参数校验,参数不足提示输入格式if args.len() != 3 {println!("Usage:");println!("sha256_cracker: <wordlist.txt> <sha256_hash>");return Ok(());}// 校验sha245十六进制字符串长度,不是64位提示错误let hash_to_crack = args[2].trim();if hash_to_crack.len() != SHA256_HEX_STRING_LENGTH {return Err("sha256 hash is not valid".into());}// 读取文件let wordlist_file = File::open(&args[1])?;let reader = BufReader::new(&wordlist_file);for line in reader.lines() {let line = line?.trim().to_string();println!("{}", line);}Ok(())
}

4.暴力破解

use std::{env,error::Error,fs::File,io::{BufRead, BufReader},
};
use sha2::{Digest, Sha256};  
// 定义sha245 hash字符串的长度
const SHA256_HEX_STRING_LENGTH: usize = 64;
fn main() -> Result<(), Box<dyn Error>> {// 获取输出参数let args: Vec<String> = env::args().collect();// 输入参数校验,参数不足提示输入格式if args.len() != 3 {println!("Usage:");println!("sha256_cracker: <wordlist.txt> <sha256_hash>");return Ok(());}// 校验sha245十六进制字符串长度,不是64位提示错误let hash_to_crack = args[2].trim();if hash_to_crack.len() != SHA256_HEX_STRING_LENGTH {return Err("sha256 hash is not valid".into());}// 读取文件let wordlist_file = File::open(&args[1])?;let reader = BufReader::new(&wordlist_file);for line in reader.lines() {// 逐行读取,并对读取的字符串进行sha256加密let line = line?.trim().to_string();let hash = Sha256::digest(line.as_bytes());  let hash_hex = hex::encode(hash);  // 匹配加密字符串,如果一致则输出if hash_hex == args[2]{println!("Succeed!password is : {}",line);return Ok(());}}println!("Failed ... password is not found!");return Ok(());
}

本文部分内容参考《black hat rust》一书

http://www.15wanjia.com/news/51783.html

相关文章:

  • ps做图软件怎么下载网站产品网络推广方式
  • 高邮政府建设工程招投标网站免费网页在线客服制作
  • 网站访问速度慢深圳百度开户
  • 北京专门做网站的湖南seo优化排名
  • 怎么做全民夺宝网站推广链接点击器网页
  • 学网站建设有用吗seo工具包括
  • 做网站用php如何学习武汉seo
  • wordpress幻灯片非插件免费seo推广公司
  • 做网站要用到哪些技术河北seo基础入门教程
  • 公司网站建设劳伦海外网络专线
  • WordPress仿站助手安徽百度关键词优化
  • wordpress设置vip用户可见洛阳seo博客
  • 太原手机微网站建设seo排名软件哪个好用
  • 局域网电脑做网站服务器百度seo推广优化
  • 做网站后台数据库建设营销策略的重要性
  • 网站建设 问卷调查seo建站营销
  • 什么是理财北京网站建设公司好站长工具免费
  • 有了源代码如何做网站百度ai人工智能平台
  • 响应式网站设计图百度推广电话是多少
  • 网站主域名是什么专业seo优化推广
  • html做简单网站实例友情链接购买平台
  • 网站被收录又被取消了搜索引擎优化免费
  • 有哪些做平面设计好的网站有哪些内容平谷头条新闻
  • 四川眉山今天疫情实时动态防控下载班级优化大师并安装
  • 教育机构退费法律规定seo工作
  • 网络广告人社区google优化师
  • 安徽做网站公司磁力宅
  • 传统网站建设团队windows优化工具
  • vs怎么做网站的首页谷歌排名网站优化
  • 通过骗子网站能找到其服务器吗兰州seo快速优化报价