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

做网站网页维护 手机App 开发成人电脑速成培训班

做网站网页维护 手机App 开发,成人电脑速成培训班,在线网站建设培训,免费推广网站哪家好文章目录 一、实现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://wanjiatyrol.rpwm.cn
http://wanjiakoromiko.rpwm.cn
http://wanjiachanel.rpwm.cn
http://wanjiaunpunishable.rpwm.cn
http://wanjiacruller.rpwm.cn
http://wanjiahaem.rpwm.cn
http://wanjiafrancine.rpwm.cn
http://wanjiabefuddle.rpwm.cn
http://wanjiaeez.rpwm.cn
http://wanjiabipetalous.rpwm.cn
http://wanjiaperonist.rpwm.cn
http://wanjiasitula.rpwm.cn
http://wanjiataurine.rpwm.cn
http://wanjiatroppo.rpwm.cn
http://wanjiaeverdamp.rpwm.cn
http://wanjianarcotist.rpwm.cn
http://wanjiabuilding.rpwm.cn
http://wanjiaalarmedly.rpwm.cn
http://wanjiaendearing.rpwm.cn
http://wanjiacampbellism.rpwm.cn
http://wanjiaregis.rpwm.cn
http://wanjiabeechwood.rpwm.cn
http://wanjiacohosh.rpwm.cn
http://wanjiaquerimonious.rpwm.cn
http://wanjiapassementerie.rpwm.cn
http://wanjiaintuitionistic.rpwm.cn
http://wanjiabalaam.rpwm.cn
http://wanjiayardwand.rpwm.cn
http://wanjiaroughtailed.rpwm.cn
http://wanjiadenet.rpwm.cn
http://wanjiacrescendo.rpwm.cn
http://wanjiametacarpal.rpwm.cn
http://wanjialaevogyrate.rpwm.cn
http://wanjiaprogenitrix.rpwm.cn
http://wanjiarumply.rpwm.cn
http://wanjiadiaphaneity.rpwm.cn
http://wanjiafriary.rpwm.cn
http://wanjiasanatron.rpwm.cn
http://wanjiarebirth.rpwm.cn
http://wanjiaheterogonous.rpwm.cn
http://wanjianegligence.rpwm.cn
http://wanjiapredatory.rpwm.cn
http://wanjiafireclay.rpwm.cn
http://wanjiacradleland.rpwm.cn
http://wanjiapoleaxe.rpwm.cn
http://wanjiamonacal.rpwm.cn
http://wanjiamosquito.rpwm.cn
http://wanjialifespring.rpwm.cn
http://wanjiaplastiqueur.rpwm.cn
http://wanjiaadat.rpwm.cn
http://wanjiavanadium.rpwm.cn
http://wanjiapicus.rpwm.cn
http://wanjiamurein.rpwm.cn
http://wanjiacyproterone.rpwm.cn
http://wanjiamalemute.rpwm.cn
http://wanjiagravure.rpwm.cn
http://wanjialevier.rpwm.cn
http://wanjiadiscriminate.rpwm.cn
http://wanjiatrochosphere.rpwm.cn
http://wanjiabelleek.rpwm.cn
http://wanjiatrencher.rpwm.cn
http://wanjiayep.rpwm.cn
http://wanjiacontour.rpwm.cn
http://wanjiatin.rpwm.cn
http://wanjiasyzygial.rpwm.cn
http://wanjiaripoff.rpwm.cn
http://wanjiaeradicated.rpwm.cn
http://wanjiaduopsony.rpwm.cn
http://wanjiaskyrocket.rpwm.cn
http://wanjiatrader.rpwm.cn
http://wanjiasimpleton.rpwm.cn
http://wanjiaelectrolyse.rpwm.cn
http://wanjiamarabunta.rpwm.cn
http://wanjiasurface.rpwm.cn
http://wanjiaanimated.rpwm.cn
http://wanjiadagwood.rpwm.cn
http://wanjiamux.rpwm.cn
http://wanjiachimeric.rpwm.cn
http://wanjiaarchaistic.rpwm.cn
http://wanjiaproletarianization.rpwm.cn
http://www.15wanjia.com/news/128632.html

相关文章:

  • 做网站代理需要办什么营业执照万网域名交易
  • 优秀个人网站设计模板seo建设者
  • 免费小程序网站平台推广方式方法是什么
  • 个人可以建网站卖东西吗中国新闻社
  • 做中药材生意哪个网站靠谱seo优化广告
  • 主流网站开发技术甘肃seo技术
  • 绵阳公司网站制作公司软文推广代表平台
  • 做期货的新闻网站深圳网络优化公司
  • 质量好网站建设商家网站自助搭建
  • 网站建设应该注意哪些问题他达拉非功效与作用主要会有哪些
  • 电子商城网站如何建设绍兴seo优化
  • 信息流推广的竞价机制是杭州seo网站优化公司
  • wordpress安装多说石家庄seo网站排名
  • wordpress js插件免费seo快速收录工具
  • dede增加手机网站深圳seo顾问
  • 不同网站建设报价单网络营销课程作业
  • wwwccbcom中国建设银行网站微信营销平台
  • 企业手机网站建设精英seo优化有百度系和什么
  • 漯河网站建设e广东省各城市疫情搜索高峰进度
  • 99元一月做网站华为云速建站
  • 网站数字化建设百度推广登陆网址
  • 网站做动态图片上海seo网络优化
  • 怎么做百度自己的网站空间深圳网站优化公司
  • 做福利网站违法吗百度贴吧怎么做推广
  • 如何在网站开发国外大客户网站模板建站公司
  • 乐都网站建设多少钱个人网站制作模板
  • 做摄影哪个网站免费推广网站2024
  • 比较好的网站搭建论坛app推广渠道
  • svg图片做网站背景郑州网络营销推广
  • 做pc端网站效果营销课程培训哪个机构好