Hash 如何拥有自定义的时间戳和哈希sha256,并将它们转换成带锈的字符串?

Hash 如何拥有自定义的时间戳和哈希sha256,并将它们转换成带锈的字符串?,hash,rust,type-conversion,timestamp,sha256,Hash,Rust,Type Conversion,Timestamp,Sha256,我尝试使用这样的自定义时间戳:YYYYMMDDHHMMSS 我用它来计算我的当前时间: let timestamp = chrono::offset::Local::now(); 要获得以下信息: 2020-11-12T09:53:02.419182341+00:00 那么,如何将其提取/转换为所需格式,然后再将其转换为字符串? 因为我想用散列连接它。 我实际上在用这个: let auth = [timestamp, hash].concat(); 我还有一个问题: 如何在sha256中对

我尝试使用这样的自定义时间戳:YYYYMMDDHHMMSS
我用它来计算我的当前时间:

let timestamp = chrono::offset::Local::now();
要获得以下信息:

2020-11-12T09:53:02.419182341+00:00
那么,如何将其提取/转换为所需格式,然后再将其转换为字符串?
因为我想用散列连接它。
我实际上在用这个:

let auth = [timestamp, hash].concat();
我还有一个问题: 如何在sha256中对哈希进行编码,以及如何将其转换为字符串?
因为我实际上在使用:

  let mut hasher = Sha256::new();
  hasher.update("Hello world");
  let hash = hasher.finalize();
  println!("{:?}", hash);
我得到的结果是:

[100, 236, 136, 202, 0, 178, 104, 229, 186, 26, 53, 103, 138, 27, 83, 22, 210, 18, 244, 243, 102, 178, 71, 114, 50, 83, 74, 138, 236, 163, 127, 60]
是这样吗

我已经尝试使用弹性的类型、格式、系统时间等
但是我不能达到我的目标。。。 所以欢迎您的帮助!:)

如何将其转换为所需格式并转换为
字符串

Chrono的格式选项范围广泛,例如:

使用chrono::prelude::*;
fn main(){
println!(“{}”,Local::now().format(“%Y%m%d%H%m%S”);//YYYYMMDDHHMMSS
}
2020111121108
如何在
Sha256
中对哈希进行编码,以及如何将其转换为
字符串

使用
{:?}
将得到由
调试
特性实现的结果

似乎您在寻找十六进制字符串,您可以使用
{:x}
{:x}
来表示小写和大写十六进制,例如:

使用sha2::{Sha256,摘要};
fn main(){
println!(“{:x}”,Sha256::digest(b“Hello world”);
}
64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c
关于这一点的更多信息,请参阅生锈文档


要将两者连接起来,您可以执行类似以下操作:

使用chrono::prelude::*;
使用sha2::{Sha256,摘要};
fn main(){
让我们“你好,世界”;
println!(“{}{:x}”,
Local::now().format(“%Y%m%d%H%m%S”),
Sha256::摘要(以字节()形式)
);
}
20201111211080464EC88CA00B268E5BA1A35678A1B5316D212F4F366B2477232534A8AECA37F3C

“如何将其提取/转换为所需格式并将其转换为字符串?”您想要的时间格式是什么?举个例子会有帮助。我们正在尝试建立一个问题库,对未来的StackOverflow读者有用。为此,若你们可以单独问一些不相关的问题,这将是非常有用的。对于我写在顶部的格式:YYYYMMDDHHMMSS,比如:202011112123030,我的两个问题并不是不相关的,因为我必须同时问这两个问题才能得到结果,但是我很理解你说的话,如果你问如何将时间戳格式化为某种格式,然后如何将SHA256格式化为字符串,我会这样做。我知道你想把这两个字符串连接起来,但这并不能改变这些问题的答案。哦,非常感谢!你帮了我很多,做了几件事,懂了几件事!现在我只需要解决这个问题:expected struct
std::string::string
,found struct
sha2::digest::generic\u array::GenericArray
关于散列,因为我想将其与字符串连接并存储到变量中,所以我不能使用println。无论如何,非常感谢:)没问题。如果要创建
字符串
,可以使用。祝你有一个美好的一天。我是一个新手,所以我的问题可以很明显,但它对我帮助很大!是的,我尝试使用格式!()但它不适用于此结构:无法使用默认格式化程序格式化。祝您度过愉快的一天!