Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Mã hóa md5 password trong C# CSDL SQL sever

  1. #1
    Ngày gia nhập
    04 2010
    Bài viết
    2

    Mặc định Mã hóa md5 password trong C# CSDL SQL sever

    Có ai biết mã hóa password không giúp mình với.
    Mình đang làm 1 project bằng Winform.
    mình muốn mã hóa password của user theo md5, mong các pro chỉ dẫn
    Có code demo càng tốt.
    Em xin chân thành cảm ơn trước các bác .

  2. #2
    Ngày gia nhập
    12 2009
    Nơi ở
    Hà Nội
    Bài viết
    107

    Bạn có thể vào MSDN có hướng dẫn vào code demo cho bạn luôn.
    Mình lấy code demo trong MSDN:
    Visual C# Code:
    1. using System;
    2. using System.Security.Cryptography;
    3. using System.Text;
    4.  
    5. namespace MD5Sample
    6. {
    7.     class Program
    8.     {
    9.         static void Main(string[] args)
    10.         {
    11.             string source = "Hello World!";
    12.             using (MD5 md5Hash = MD5.Create())
    13.             {
    14.                 string hash = GetMd5Hash(md5Hash, source);
    15.  
    16.                 Console.WriteLine("The MD5 hash of " + source + " is: " + hash + ".");
    17.  
    18.                 Console.WriteLine("Verifying the hash...");
    19.  
    20.                 if (VerifyMd5Hash(md5Hash, source, hash))
    21.                 {
    22.                     Console.WriteLine("The hashes are the same.");
    23.                 }
    24.                 else
    25.                 {
    26.                     Console.WriteLine("The hashes are not same.");
    27.                 }
    28.             }
    29.  
    30.  
    31.  
    32.         }
    33.         static string GetMd5Hash(MD5 md5Hash, string input)
    34.         {
    35.  
    36.             // Convert the input string to a byte array and compute the hash.
    37.             byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
    38.  
    39.             // Create a new Stringbuilder to collect the bytes
    40.             // and create a string.
    41.             StringBuilder sBuilder = new StringBuilder();
    42.  
    43.             // Loop through each byte of the hashed data
    44.             // and format each one as a hexadecimal string.
    45.             for (int i = 0; i < data.Length; i++)
    46.             {
    47.                 sBuilder.Append(data[i].ToString("x2"));
    48.             }
    49.  
    50.             // Return the hexadecimal string.
    51.             return sBuilder.ToString();
    52.         }
    53.  
    54.         // Verify a hash against a string.
    55.         static bool VerifyMd5Hash(MD5 md5Hash, string input, string hash)
    56.         {
    57.             // Hash the input.
    58.             string hashOfInput = GetMd5Hash(md5Hash, input);
    59.  
    60.             // Create a StringComparer an compare the hashes.
    61.             StringComparer comparer = StringComparer.OrdinalIgnoreCase;
    62.  
    63.             if (0 == comparer.Compare(hashOfInput, hash))
    64.             {
    65.                 return true;
    66.             }
    67.             else
    68.             {
    69.                 return false;
    70.             }
    71.         }
    72.  
    73.     }
    74. }
    75.  
    76. // This code example produces the following output:
    77. //
    78. // The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.
    79. // Verifying the hash...
    80. // The hashes are the same.

    Nguồn: http://msdn.microsoft.com/en-us/libr...raphy.md5.aspx

  3. #3
    Ngày gia nhập
    04 2010
    Bài viết
    2

    code Winform cơ mà bạn.
    Cái này có thể lưu đc vào csdl ko

  4. #4
    Ngày gia nhập
    12 2009
    Nơi ở
    Hà Nội
    Bài viết
    107

    bạn chỉ lấy cái method static string GetMd5Hash(MD5 md5Hash, string input) thôi. Đầu ra là một string, tại sao k insert được vào DB chứ???

  5. #5
    Ngày gia nhập
    12 2010
    Bài viết
    136

    Bạn có thể dùng cái này;
    Hàm mã hóa dữ liệu
    Visual C# Code:
    1. /// <summary>
    2. /// Mã hóa ký tự với kiểu mã hõa TripleDes - MD5  http://congdongcsharp.net
    3. /// </summary>
    4. /// <param name="key"></param>
    5. /// <param name="toEncrypt"></param>
    6. /// <returns></returns>
    7. public string congdongcsharp_Encrypt(string key, string toEncrypt)
    8. {
    9.     byte[] keyArray;
    10.     byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);
    11.     MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
    12.     keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
    13.     TripleDESCryptoServiceProvider tdes =
    14.      new TripleDESCryptoServiceProvider();
    15.     tdes.Key = keyArray;
    16.     tdes.Mode = CipherMode.ECB;
    17.     tdes.Padding = PaddingMode.PKCS7;
    18.     ICryptoTransform cTransform = tdes.CreateEncryptor();
    19.     byte[] resultArray = cTransform.TransformFinalBlock(
    20.           toEncryptArray, 0, toEncryptArray.Length);
    21.     return Convert.ToBase64String(resultArray, 0, resultArray.Length);
    22. }
    Hàm giải mã dữ liệu đã được mã hóa.
    Visual C# Code:
    1. /// <summary>
    2. /// Giải mã dữ liệu đã mã hóa  http://congdongcsharp.net
    3. /// </summary>
    4. /// <param name="key"></param>
    5. /// <param name="toDecrypt"></param>
    6. /// <returns></returns>
    7. public string congdongcsharp_Decrypt(string key, string toDecrypt)
    8. {
    9.     byte[] keyArray;
    10.     byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);
    11.  
    12.     MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
    13.     keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
    14.  
    15.     TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
    16.     tdes.Key = keyArray;
    17.     tdes.Mode = CipherMode.ECB;
    18.     tdes.Padding = PaddingMode.PKCS7;
    19.     ICryptoTransform cTransform = tdes.CreateDecryptor();
    20.     byte[] resultArray = cTransform.TransformFinalBlock(
    21.      toEncryptArray, 0, toEncryptArray.Length);
    22.     return UTF8Encoding.UTF8.GetString(resultArray);
    23. }

    Website chuyên lập trình ASP.NET
    Bạn cần chú ý là khi sử dụng hai hàm này cần phải sử dụng cũng một Key.

  6. #6
    Ngày gia nhập
    05 2011
    Bài viết
    3

    Mặc định code dài quá các bạn tham khảo code mã hóa md5 c# ngắn gọn dể hiểu

    các doạn code tren dài quá,
    lằn nhằn các bạn tham khảo code tại đây,
    code nhẹ hơn dể hiểu hơn ví dụ cụ thể

    code mã hóa md5 c# ngắn gọn dể hiểu tại đây http://mua134.com/index.php/huong-dan-thanh-toan.html
    Đã được chỉnh sửa lần cuối bởi nguyenhoangc : 26-11-2015 lúc 04:16 PM.

  7. #7
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,571

    Trích dẫn Nguyên bản được gửi bởi mrhungpham Xem bài viết
    code Winform cơ mà bạn.
    Cái này có thể lưu đc vào csdl ko
    Md5 để mã hóa, lưu mã đó vào đâu là chuyện của bạn.
    //
    Tôi có viết code bạn có xài tôi đưa CT (không kèm code) cho !
    ĐT : 0906.83.71.25
    email : vn8hien62@yahoo.com
    http://diendan.congdongcviet.com/threads/t334310::chu-quoc-ngu-da-lac-hau-chua.cpp?p=815219#post815219

  8. #8
    Ngày gia nhập
    09 2012
    Bài viết
    2

    Trích dẫn Nguyên bản được gửi bởi Van8Hien62 Xem bài viết
    Md5 để mã hóa, lưu mã đó vào đâu là chuyện của bạn.
    //
    Tôi có viết code bạn có xài tôi đưa CT (không kèm code) cho !
    Em có đọc được đoạn code này nhưng k hiểu chỗ "123" nó để làm gì ạ ( em chỉ biết đó là string key thôi nhưng k hiểu sao lại đặt là 123 mà k phải 456 hay tham số nào đó) bác có thể thông giúp em chỗ này đc k ạ
    Code:
     dtPhanQuyen.Rows[i].Cells[2].Value = GiaiMa("123", pquyenbll.BLL_PhanQuyen_Select().Rows[i][2].ToString());
    Đã được chỉnh sửa lần cuối bởi kulboy_vn : 05-12-2015 lúc 12:02 PM.

  9. #9
    Ngày gia nhập
    09 2013
    Bài viết
    79

    Trích dẫn Nguyên bản được gửi bởi kulboy_vn Xem bài viết
    Em có đọc được đoạn code này nhưng k hiểu chỗ "123" nó để làm gì ạ ( em chỉ biết đó là string key thôi nhưng k hiểu sao lại đặt là 123 mà k phải 456 hay tham số nào đó) bác có thể thông giúp em chỗ này đc k ạ
    Code:
     dtPhanQuyen.Rows[i].Cells[2].Value = GiaiMa("123", pquyenbll.BLL_PhanQuyen_Select().Rows[i][2].ToString());
    Đã là key thì bạn thích nhập gì chả được. Ở đây thì bạn ấy dùng key là 123. Bạn lấy code về điền key theo ý của bạn. Mà cơ bản là key Encrypt phải trùng với key Decrypt.

  10. #10
    Ngày gia nhập
    09 2012
    Bài viết
    2

    Trích dẫn Nguyên bản được gửi bởi qmjnh9x Xem bài viết
    Đã là key thì bạn thích nhập gì chả được. Ở đây thì bạn ấy dùng key là 123. Bạn lấy code về điền key theo ý của bạn. Mà cơ bản là key Encrypt phải trùng với key Decrypt.
    xin chân thành cảm ơn absc đã thông cho em ạ!

Các đề tài tương tự

  1. Mã hóa password trong C# như thế nào?
    Gửi bởi mrgatay trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 36
    Bài viết cuối: 31-12-2012, 02:22 PM
  2. Mã hóa Password saukhi đưa vào CSDL
    Gửi bởi minhitcn2 trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 23
    Bài viết cuối: 01-07-2012, 02:49 PM
  3. cách mã hóa dữ liệu password để lưu vào CSDL?
    Gửi bởi tuanngocpt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 21-02-2011, 12:08 PM
  4. Mã hóa password để lưu trong CSDL như thế nào?
    Gửi bởi langtugacon trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 29-02-2008, 11:04 AM
  5. tạo password chương trình rồi lưu lại trong csdl
    Gửi bởi namngoc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 27-12-2007, 02:57 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn