Mật mã ( Cryptography) Mật mã (cryptography) là một trong những mặt phức tạp nhất của quá trình phát triển phần mềm mà bất kỳ nhà phát triển nào cũng sẽ sử dụng. | Chương 14 Mật mã Cryptography Mật mã cryptography là một trong những mặt phức tạp nhất của quá trình phát triển phần mềm mà bất kỳ nhà phát triển nào cũng sẽ sử dụng. Lý thuyết kỹ thuật mật mã hiện đại cực kỳ khó hiểu và đòi hỏi một mức kiến thức toán học mà tương đối ít người có được. May mắn là thư viện lớp .NET Framework cung cấp các hiện thực dễ sử dụng cho hầu hết các kỹ thuật mật mã thông dụng và hỗ trợ các giải thuật phổ biến nhất. Chương này sẽ bàn về các vấn đề sau Tạo số ngẫu nhiên mục . Tạo và xác minh các mã băm mật mã và các mã băm có khóa mục và . Sử dụng giải thuật đối xứng và không đối xứng để mật hóa và giải mật hóa dữ liệu mục và . Tìm lại lưu trữ và chuyển đổi các khóa mật mã mục và . Khi nghĩ cách áp dụng các kỹ thuật trong chương này vào mã lệnh bạn nên nhớ rằng mật mã chẳng phải là cái mà bạn hiện thực đơn lẻ. Mật mã không ngang bằng với bảo mật security sử dụng mật mã chỉ là một phần nhỏ trong việc tạo một giải pháp an toàn. Đối với những ai chưa quen thuộc với mật mã dưới đây là định nghĩa của một số từ quan trọng Encrypt động từ tạm dịch là mật hóa là mã hóa thông tin theo cách nào đó để mọi người không thể đọc được nó trừ những ai có khóa. Decrypt động từ tạm dịch là giải mật hóa là giải mã thông tin đã-được-mật-hóa. Key là chuỗi các bit dùng để mật hóa và giải mật hóa thông tin. Plaintext là text chưa-được-mật-hóa hay đã-được-giải-mật-hóa. Ciphertext là text đã-được-mật-hóa. Tạo số ngẫu nhiên Ỹ Bạn cần tạo một số ngẫu nhiên dùng cho các ứng dụng mật mã và bảo mật. Sử dụng một bộ tạo số ngẫu nhiên mật mã cryptographic random number generator chăng hạn . Lớp là một bộ tạo số giả ngẫu nhiên nó sử dụng một giải thuật toán học để mô phỏng việc tạo số ngẫu nhiên. Thực ra giải thuật này là tất định deterministic nghĩa là bạn luôn có thể tính được số kế tiếp sẽ là gì dựa trên số đã được tạo trước đó. Điều này nghĩa là các số .