- UID
- 390967
- 帖子
- 1592
- 主題
- 821
- 精華
- 0
- 積分
- 854
- 楓幣
- 10961
- 威望
- 395
- 存款
- 10100
- 贊助金額
- 1800
- 推廣
- 0
- GP
- 2677
- 閱讀權限
- 150
- 在線時間
- 189 小時
- 註冊時間
- 2023-5-18
- 最後登入
- 2024-11-21
|
本帖最後由 whitefox 於 2023-5-29 13:29 編輯
這裡透過System.Security.Cryptography.HashAlgorithm來實現各種Hash加密演算法
這篇只有加密沒有解密!
PS: 輸出文字前只要加 $ 就可以了- using System;
- using System.Security.Cryptography;
- using System.Text;
- namespace ConsoleApp
- {
- class Program
- {
- static void Main(string[] args)
- {
- string text = "~沒加密的明文~";
- string[] encryptTypes = new[] { "md5", "sha1", "sha256", "sha384", "sha512" };
- foreach (string encryptType in encryptTypes)
- {
- string encryptText = Encrypt(text, encryptType);
- Console.WriteLine($@"【{text}】經【{encryptType}】加密後:{encryptText}");
- }
- }
- /// <summary>
- /// 加密
- /// </summary>
- /// <param name="value">加密字串</param>
- /// <param name="encryptType">加密方式</param>
- /// <returns></returns>
- public static string Encrypt(string value, string encryptType)
- {
- if (string.IsNullOrEmpty(value)) return value;
- using (var hashAlgorithm = HashAlgorithm.Create(encryptType))
- {
- byte[] buffer = System.Text.Encoding.UTF8.GetBytes(value);
- buffer = hashAlgorithm.ComputeHash(buffer);
- hashAlgorithm.Clear();
- //使用hex格式輸出
- StringBuilder result = new StringBuilder();
- foreach (byte b in buffer)
- {
- result.AppendFormat("{0:x2}", b);
- }
- }
- }
- }
- }
複製代碼 |
|