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

Đề tài: Cách tính phần trăm hoàn thành việc sinh mã MD5 trong C#?

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

    Mặc định Cách tính phần trăm hoàn thành việc sinh mã MD5 trong C#?

    Hàm tính toán MD5 của mình như sau:
    Visual C# Code:
    1.         private static string CalculateChecksum(string file)
    2.         {
    3.             FileStream files = new FileStream(file, FileMode.Open);
    4.             MD5 md5 = new MD5CryptoServiceProvider();
    5.             byte[] retVal = md5.ComputeHash(files);
    6.             files.Close();
    7.  
    8.             StringBuilder sb = new StringBuilder();
    9.             for (int i = 0; i < retVal.Length; i++)
    10.             {
    11.                
    12.                 sb.Append(retVal[i].ToString("X2"));
    13.             }
    14.  
    15.             return sb.ToString();
    16.         }
    Mình muốn tính phần trăm công việc hoàn thành để cập nhật lên processBar thì phải làm sao vậy mấy bạn ?

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Theo t thì bạn dựa vào cái vòng For, cụ thể là cái Length ấy. Từ đó tính tỉ lệ:
    100%=Length=> 1%=? => giá trị thay đồi cho progressbar.hihi. T nghĩ là thế, bạn thử xem được ko.
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

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

    Hàm md5.ComputeHash(files); mới chiếm 98% thời gian thực hiện bạn à

  4. #4
    Ngày gia nhập
    07 2006
    Nơi ở
    Hà Nội
    Bài viết
    138

    Thay hàm ComputeHash bằng hàm sau đây, bạn sẽ hài lòng đấy:

    Visual C# Code:
    1.     public byte[] ComputeHashMultiBlock(byte[] input, int size)
    2.     {
    3.         MD5CryptoServiceProvider md5prov = new MD5CryptoServiceProvider();
    4.  
    5.         int offset = 0;
    6.         while (input.Length - offset >= size) {
    7.             offset += md5prov.TransformBlock(input, offset, size, input, offset);
    8.             Console.WriteLine("Completed " + ((offset * 100) / input.Length) + "%");
    9.         }
    10.  
    11.         md5prov.TransformFinalBlock(input, offset, input.Length - offset);
    12.         return md5prov.Hash;
    13.     }

    Với size là kích thước dữ liệu mỗi lần thực hiện. Ví dụ: size = 1048576 (1Kb)
    Tất cả các câu hỏi của thành viên (không vi phạm luật lệ tham gia) gửi vào box Java, Linux nếu không thành viên nào trả lời hỗ trợ trong vòng 24h, ban quản trị sẽ trực tiếp hỗ trợ. Các bạn giới thiệu và loan tin giúp điều này

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

    admin xuất chiêu có khác hay hay

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

  1. Phần trăm khuyến mãi = MAX( Số năm thân thiết * 5%, 50%)
    Gửi bởi anhthy94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 12-06-2013, 08:20 PM
  2. code bài toán cổ trăm trâu trăm cỏ trên C/C++. Kiểm tra giúp mình
    Gửi bởi tuanlt10 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 7
    Bài viết cuối: 26-12-2012, 09:39 AM
  3. Nhiều cán bộ bị kỷ luật vì sai phạm tại chùa Trăm Gian
    Gửi bởi quynhcute trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 16-09-2012, 06:14 PM
  4. Algorithm Đánh giá hai chuỗi giống nhau bao nhiêu phần trăm, làm thế nào?
    Gửi bởi bdangvnt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 21
    Bài viết cuối: 16-07-2012, 05:31 PM
  5. Hiển thị phần trăm công việc CProgressCtrl
    Gửi bởi letuandung83 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 13-07-2010, 11:02 AM

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