加密之MD5加密

MD5算法是什麼?

它能夠講字符串或者一個文件流變成一個長度爲32的字符串算法

特色: 加密不可逆數組

MD5存在的意義:ui

寫法:用C#實現MD5加密

1.將字符串用MD5算法處理

    準備一個字符串對象

    將字符串變成一個字符數組md5

    建立MD5對象,調用其ComputeHash方法字符串

    獲得一個16個字節的字節數組string

    使用SB拼接,將每一個字節用ToString("x2")處理it

代碼:

  ---------------------將一個字符串用MD5處理-------------------------coding

    string str="abc";

    //字節數組

    //若是是字符串是英文,用Encoding.UTF8,若是是中文就用Encoding.GetEncoding("gb2312")

    bytes[] bs = Encoding.UTF8.GetBytes(str);

    //準備MD5對象

        MD5 md5 = MD5.Create();

    //計算指定字節數組的哈希值

    bs=md5.ComputeHash(bs);

    StringBuilder sb = new StringBuilder();

由於對於字節若是用十進制表示爲0-255,用二進制表示爲0000000-11111111,十六進制爲000000-FFFFFF,爲了統一處理,這裏作了統一,用十六進制

    for(int i=0;i<bs.Length;i++)

    {

       sb.Append(bs[i].ToString("x2"));

    }

    Console.WriteLine(sb.ToString());

    Console.ReadKey();

  ----------------------將一個文件用MD5算法處理-----------------------

    MD5 md5=MD5.Create();

    string path=@"文件路徑";

    //準備好byte數組

    byte[]bs;

    using(FileStream file= new FileStream(path,FileMode.Open,FileAccess.Read))

    {

       bs = md5.ComputeHash(file);

    }

    //後面的代碼和上面處理字符串的代碼同樣用

    for(int i=0;i<bs.length;i++)

    {

       sb.Append(bs[i].ToString("x2"));

    }

    Console.WriteLine(sb.ToString());

    Console.ReadKey();

相關文章
相關標籤/搜索