中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

做網(wǎng)站網(wǎng)頁維護 手機App 開發(fā)免費打廣告網(wǎng)站

做網(wǎng)站網(wǎng)頁維護 手機App 開發(fā),免費打廣告網(wǎng)站,微信小程序制作app,公司裝修流程文章目錄 一、實現(xiàn)Sha-256加密1.創(chuàng)建項目2.編寫Cargo.toml文件3.編寫程序代碼 二、sha256爆破1.獲取命令行參數(shù)2.讀取文件3.校驗輸入?yún)?shù)4.暴力破解 一、實現(xiàn)Sha-256加密 SHA-256是一種安全哈希算法,主要特點是將輸入的數(shù)據(jù)(無論長度)通過特定…

文章目錄

  • 一、實現(xiàn)Sha-256加密
    • 1.創(chuàng)建項目
    • 2.編寫Cargo.toml文件
    • 3.編寫程序代碼
  • 二、sha256爆破
    • 1.獲取命令行參數(shù)
    • 2.讀取文件
    • 3.校驗輸入?yún)?shù)
    • 4.暴力破解


一、實現(xiàn)Sha-256加密

SHA-256是一種安全哈希算法,主要特點是將輸入的數(shù)據(jù)(無論長度)通過特定的計算方式,生成一個固定長度為256位的哈希值,通常表示為64個十六進制字符?;谄鋯蜗蛐?#xff0c;即從哈希值無法逆推出原始輸入數(shù)據(jù),通常被用于密碼的存儲。

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。這些變體在生成摘要的長度和一些微小細節(jié)上有所不同,但基本結(jié)構(gòu)是一致的。

1.創(chuàng)建項目

$ cargo new sha256_cracker

2.編寫Cargo.toml文件

因為Rust標準庫本身并不直接提供SHA-256功能,通常使用外部庫sha2完成,它提供了SHA-256以及其他SHA-2哈希算法的實現(xiàn)。

[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自動創(chuàng)建,添加下面庫就可以[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());  // 將結(jié)果轉(zhuǎn)換為十六進制字符串表示  let hash_hex = hex::encode(hash);  println!("SHA-256 hash of '{}' is {}", data, hash_hex);  //SHA-256 hash of 'admin123' is 240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9
}

二、sha256爆破

基于其單向性,即從哈希值無法逆推出原始輸入數(shù)據(jù),目前只能通過暴力破解的方式對密碼進行匹配。

1.獲取命令行參數(shù)

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.校驗輸入?yún)?shù)

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();// 輸入?yún)?shù)校驗,參數(shù)不足提示輸入格式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>> {// 獲取輸出參數(shù)let args: Vec<String> = env::args().collect();// 輸入?yún)?shù)校驗,參數(shù)不足提示輸入格式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(());
}

本文部分內(nèi)容參考《black hat rust》一書

http://www.risenshineclean.com/news/32444.html

相關(guān)文章:

  • 網(wǎng)站托管適合中層管理的培訓(xùn)
  • 做網(wǎng)站是通過怎么掙錢一個新產(chǎn)品怎么推廣
  • 網(wǎng)頁設(shè)計 做網(wǎng)站的代碼制作網(wǎng)站大概多少錢
  • 互聯(lián)網(wǎng)行業(yè)新聞的靠譜網(wǎng)站怎么做屬于自己的網(wǎng)站
  • 凡科刪除建設(shè)的網(wǎng)站東莞疫情最新通知
  • 做網(wǎng)站銷售電話術(shù)語關(guān)鍵詞推廣是什么
  • 如何在國外做網(wǎng)站競價賬戶托管公司哪家好
  • 為校園網(wǎng)站建設(shè)提供網(wǎng)站優(yōu)化排名公司哪家好
  • 寧波百度做網(wǎng)站的公司哪家好亞馬遜跨境電商開店流程及費用
  • 電商型企業(yè)網(wǎng)站建設(shè)品牌型網(wǎng)站制作價格
  • 企業(yè)內(nèi)部網(wǎng)站如何建設(shè)吉林網(wǎng)絡(luò)seo
  • 流量劫持網(wǎng)站怎么做磁力搜索引擎不死鳥
  • 公司官網(wǎng)怎么建立優(yōu)化大師客服電話
  • php網(wǎng)站的登陸注冊怎末做的深圳網(wǎng)站建設(shè)專業(yè)樂云seo
  • 業(yè)余從事網(wǎng)站開發(fā)杭州seo按天計費
  • 招聘網(wǎng)站建設(shè)維護人員設(shè)計公司排名前十強
  • 錦州網(wǎng)站建設(shè)哪家好seo策略有哪些
  • 金山建設(shè)機械網(wǎng)站seo研究中心超逸seo
  • 網(wǎng)站備案后更換主機網(wǎng)絡(luò)營銷的內(nèi)涵
  • php做視頻網(wǎng)站有哪些軟件下載谷歌優(yōu)化的網(wǎng)絡(luò)公司
  • 廣告行業(yè)包括網(wǎng)站建設(shè)嗎搜索seo優(yōu)化
  • 表格上傳網(wǎng)站廣東seo點擊排名軟件哪家好
  • 獵頭做mapping網(wǎng)站推廣軟件的app
  • 溫州網(wǎng)站建設(shè)推廣nba哈登最新消息
  • 完善酒店網(wǎng)站建設(shè)線上推廣策劃方案
  • 大興網(wǎng)站建設(shè)推廣網(wǎng)站seo的方法
  • 做團建活動網(wǎng)站網(wǎng)站優(yōu)化什么意思
  • 規(guī)模以上工業(yè)企業(yè)名單百度小程序關(guān)鍵詞優(yōu)化
  • 建設(shè)銀行網(wǎng)站不能登錄密碼seo文章是什么
  • 東莞建站模板后臺百度快照功能