RustでMD5ハッシュを計算する

別に難しくはないけど、いざ使いたいという時に方法を忘れてしまっており、何度か調べ直しているのでメモに残しておく。

以下のようにrust-cryptoを使えば実現可能。

サンプルプロジェクトの準備:

$ rustc -V
rustc 1.9.0 (e4e8b6668 2016-05-18)

$ cargo new md5 --bin
$ cd md5
$ echo 'rust-crypto = "*"' >> Cargo.toml
$ vim src/main.rs  # 以下を参照

使用例:

extern crate crypto;

use crypto::digest::Digest;
use crypto::md5::Md5;

fn main() {
    let mut md5 = Md5::new();
    md5.input(b"hoge");
    println!("hoge: {}", md5.result_str());
}

実行結果:

$ cargo run
     Running `target/debug/hoge`
hoge: ea703e7aa1efda0064eaa507d9e8ab7e