Rust实现字符串sha1、sha256、sha512加密

本文将在Rust语言中使用sha1、sha256、sha512等安全散列算法对字符串进行加密;

首先,在Cargo.toml文件中添加依赖:

[dependencies]
rust-crypto = "0.2.36"

sha1加密

use crypto::sha1::Sha1;
use crypto::digest::Digest;

fn main(){

    let mut hasher = Sha1::new();

    let text = String::from("123456");

    hasher.input_str(&text);
    
    println!("{} => {}",text,hasher.result_str())
    
}

程序输出:

123456 => 7c4a8d09ca3762af61e59520943dc26494f8941b

sha256加密

use crypto::sha2::Sha256;
use crypto::digest::Digest;

fn main(){

    let mut hasher = Sha256::new();

    let text = String::from("123456");

    hasher.input_str(&text);
    
    println!("{} => {}",text,hasher.result_str())
    
}

程序输出:

123456 => 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

sha512加密

将前文中的Sha256替换成Sha512即可。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/rust-implements-string-sha1-sha2-encryption.html

分类: 计算机技术
推荐阅读:
requests中的超时(timeout)设定和捕获异常 为防止服务器不能及时响应,大部分发至外部服务器的请求都应该带着 timeout 参数。在默认情况下,除非显式指定了 timeout 值,requests 是不会自动进行超时处理的。如果没有 timeout,你的代码可能会挂起若干分钟甚至更长时间。
Linux终端重用上一条命令的参数 在Linux系统下,当你想使用上一条命令所用的参数,你可以通过这一条命令实现:
kali终端改为一行显示 本文将探讨如何将Kali中的ZSH终端由双行显示切换为单行显示;
Linux删除所有与扩展名不匹配的文件 在Linux系统下,当你想删除某个文件夹下没有指定扩展名的所有文件时,你可以使用这条命令来实现,它将会删除目录下所有与扩展名不匹配的文件:
Python max()函数 max() 是 Python 中的一个内置函数,用于返回给定可迭代对象中的最大值。
C语言assert()宏:在代码中插入检查点 在C语言中,assert()函数用于在代码中插入检查点。这个函数接受一个表达式作为参数,如果表达式的值为假,那么程序会先打印错误信息(这些信息中包含程序的名称、源代码的文件名、行号、以及表达式),然后调用abort()函数来停止程序的执行。