555
Chương 14: Mật mã
HashAlgorithm
xử lý quá trình đọc dữ liệu từ
Stream
và trả về một mảng byte chứa mã băm
cho file.
Lớp
HashStreamExample
dưới đây trình bày cách tạo mã băm từ một file. Bạn phải chỉ định tên
giải thuật băm và tên file làm đối số dòng lệnh, ví dụ
HashStreamExample SHA1
HashStreamExample.cs
.
using System;
using System.IO;
using System.Security.Cryptography;
public class HashStreamExample {
public static void Main(string[] args) {
// Tạo một HashAlgorithm với kiểu được chỉ định trong
// đối số dòng lệnh thứ nhất.
using (HashAlgorithm hashAlg = HashAlgorithm.Create(args[0])) {
// Mở một FileStream cho file được chỉ định trong
// đối số dòng lệnh thứ hai.
using (Stream file = new FileStream(args[1],
FileMode.Open)) {
// Tạo mã băm cho nội dung của file.
byte[] hash = hashAlg.ComputeHash(file);
// Hiển thị mã băm.
Console.WriteLine(BitConverter.ToString(hash));
}
}
}
}
4.
4.
Ki m tra mã băm
ể
Ki m tra mã băm
ể
Bạn cần xác minh một password hoặc xác nhận một file vẫn không thay đổi bằng
cách so sánh hai mã băm.
Chuyển cả mã băm cũ và mới thành chuỗi thập lục phân, chuỗi Base64, hay
mảng byte và so sánh chúng.