Rust UUIDとパスワードハッシュを生成する

個人開発したアプリの宣伝
目的地が設定できる手帳のような使い心地のTODOアプリを公開しています。
Todo with Location

Todo with Location

  • Yoshiko Ichikawa
  • Productivity
  • Free

スポンサードリンク

UUIDの生成

uuid crateを使用します。

uuid - Rust


Cargo.toml
uuid = { version = "0.8.1", features = ["serde", "v4"] }


生成処理のサンプル
use uuid::Uuid;
let uuid = Uuid::new_v4().to_hyphenated().to_string();


パスワードハッシング

アルゴリズムはbcryptにした為、pwhash crateを使用しました。

pwhash - Rust


Cargo.toml
pwhash = "0.3.1"


生成処理のサンプル
fn hashing_password(password: &String) -> String  {
  bcrypt::hash(password).unwrap()
}


verify

生成したハッシュとの突き合わせ。

#[test]
fn test_hashing_password() {
    let hash = hashing_password(&"password123".to_string());
    assert_eq!(bcrypt::verify("password123",&hash), true);
    assert_eq!(bcrypt::verify("password12", &hash), false);
  }