冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 958|回覆: 0
打印 上一主題 下一主題

[心得] [C#] MD5/SHA/SHA256/SHA384/SHA512等加密方法

[複製鏈接]

821

主題

0

好友

854

積分

高級贊助會員

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

UID
390967
帖子
1592
主題
821
精華
0
積分
854
楓幣
10961
威望
395
存款
10100
贊助金額
1800
推廣
0
GP
2677
閱讀權限
150
在線時間
189 小時
註冊時間
2023-5-18
最後登入
2024-11-21

2023年紀念勳章 太陽勳章 神手勳章 高級客戶 VIP會員 私服達人 懶人勳章 幼兒勳章 音樂勳章 屁孩勳章 貢獻王 性別(女) 性別(男) 積分勳章 發帖達人 2023端午節紀念勳章 富豪勳章 富可敵國 2023中秋節紀念勳章 解說達人 論壇粉絲 2023聖誕節紀念勳章 2024年紀念勳章 2024端午節紀念勳章 2024中秋節紀念勳章

跳轉到指定樓層
1
發表於 2023-5-29 09:26:50 |只看該作者 |倒序瀏覽
本帖最後由 whitefox 於 2023-5-29 13:29 編輯

這裡透過System.Security.Cryptography.HashAlgorithm來實現各種Hash加密演算法
這篇只有加密沒有解密!
PS: 輸出文字前只要加 $ 就可以了
  1. using System;
  2. using System.Security.Cryptography;
  3. using System.Text;

  4. namespace ConsoleApp
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             string text = "~沒加密的明文~";
  11.             string[] encryptTypes = new[] { "md5", "sha1", "sha256", "sha384", "sha512" };
  12.             foreach (string encryptType in encryptTypes)
  13.             {
  14.                 string encryptText = Encrypt(text, encryptType);
  15.                 Console.WriteLine($@"【{text}】經【{encryptType}】加密後:{encryptText}");
  16.             }
  17.         }
  18.         /// <summary>
  19.         /// 加密
  20.         /// </summary>
  21.         /// <param name="value">加密字串</param>
  22.         /// <param name="encryptType">加密方式</param>
  23.         /// <returns></returns>
  24.         public static string Encrypt(string value, string encryptType)
  25.         {
  26.             if (string.IsNullOrEmpty(value)) return value;

  27.             using (var hashAlgorithm = HashAlgorithm.Create(encryptType))
  28.             {
  29.                 byte[] buffer = System.Text.Encoding.UTF8.GetBytes(value);
  30.                 buffer = hashAlgorithm.ComputeHash(buffer);
  31.                 hashAlgorithm.Clear();

  32.                 //使用hex格式輸出
  33.                 StringBuilder result = new StringBuilder();
  34.                 foreach (byte b in buffer)
  35.                 {
  36.                     result.AppendFormat("{0:x2}", b);
  37.                 }
  38.             }
  39.         }
  40.     }
  41. }
複製代碼
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-21 20:31

回頂部