開源.NetCore通用工具庫Xmtool使用連載 - 散列演算法篇

来源:https://www.cnblogs.com/bcbr/archive/2023/05/09/17384412.html
-Advertisement-
Play Games

本文屬於OData系列文章 Intro 前面寫了很多有關OData使用的文章,很多讀者會有疑問,直接將實體對象暴露給最終用戶會不會有風險?$expand在預設配置的情況下,數據會不會有泄露風險? 答案是肯定的,由於OData的特性,提供給我們便捷同時也會帶來一些風險。很多地方推薦使用DTO模式來隔離 ...


【Github源碼】

《上一篇》詳細介紹了Xmtool工具庫中的加解密類庫,今天我們繼續為大家介紹其中的散列演算法類庫。

散列演算法在某些特殊場景也可以當做加密方法使用;其特點是不可逆,同一內容每次散列值絕對一致,所以也可用作對數據內容是否被篡改的校驗方法;或者其他需要唯一性編碼的場景;本類庫提供了MD5、SHA1、SHA256、SHA384、SHA512等常用散列演算法。

類庫方法對散列計算方法進行了簡單封裝,讓用戶可以一句話獲得指定內容的散列值。

MD5散列演算法

SHA1散列演算法

SHA256散列演算法

SHA384散列演算法

SHA512散列演算法

1. MD5散列演算法

public string MD5(string text, string encoding = "utf-8")

說明:對傳入的字元串進行MD5散列計算,並返回結算結果;編碼格式預設為UTF8,可進行指定。

string md5Str = Xmtool.Hash().MD5("admin@123");
// TODO

2. SHA1散列演算法

public string SHA1(string text, string encoding = "utf-8")

說明:對傳入的字元串進行SHA1散列計算,並返回計算結果;編碼格式預設為UTF8,可進行指定。

string sha1Str = Xmtool.Hash().SHA1("admin@123");
// TODO

3. SHA256散列演算法

public string SHA256(string text, string encoding = "utf-8")

說明:對傳入的字元串進行SHA256散列計算,並返回計算結果;編碼格式預設為UTF8,可進行指定。

string sha256Str = Xmtool.Hash().SHA256("admin@123");
// TODO

4. SHA384散列演算法

public string SHA384(string text, string encoding = "utf-8")

說明:對傳入的字元串進行SHA384散列計算,並返回計算結果;編碼格式預設為UTF8,可進行指定。

string sha384Str = Xmtool.Hash().SHA384("admin@123");
// TODO

5. SHA512散列演算法

public string SHA512(string text, string encoding = "utf-8")

說明:對傳入的字元串進行SHA512散列計算,並返回計算結果;編碼格式預設為UTF8,可進行指定。

string sha512Str = Xmtool.Hash().SHA512("admin@123");
// TODO

【Github源碼】


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Applicationcontext的功能拓展主要來自於不屬於beanfactory的介面,主要包括四個介面 Messagesource :國際化 ResourcePatternResolver :獲取資源 ApplicationEventPublisher:發佈事件 EnvironmentCapa ...
  • Listener監聽器,實現一個顯示線上用戶人數 每博一文案 關於後半身,脾氣越溫,福報越深。 師傅說:惜命最好的方式不是養生,而是管好自己的情緒。 壞毛病都是慣出來的,但好脾氣都是磨出來的,與人生氣,傷的是和氣,與自己生氣,傷的是身體。 佛說:人有五毒心,貪嗔痴慢疑,其中一時的嗔念起,百萬葉障深, ...
  • GMP調度場景 場景1 P擁有G1,M1獲取P後開始運行G1,G1使用 go func 創建G2,為了局部性G2優先加入到P1的本地隊列 場景2 G1運行完成後(函數:goexit),M上運行的goroutine切換為G0,G0負責調度時協程的切換(函數:schedule)。從P的本地隊列取G2,從 ...
  • Legends-Of-Heroes 一個LOL風格的球球大作戰游戲,基於ET7.2,使用狀態同步 Main 基於C#雙端框架[ET7.2],同步到ET主幹詳情請看日誌。(https://github.com/egametang/ET) 註意:已經升級.Net7,請安裝.Net7 SDK. 此游戲為E ...
  • 字元串駐留池(string intern pool)是指,對於某些編程語言,相同的字元串字面值(即具有相同文本內容的字元串)在程式運行時只會被在記憶體中存儲一份,即只保存一個字元串實例。這樣做可以減少記憶體占用,並提高程式執行的效率。 在 Java 中,字元串駐留池是一個存儲字元串的緩存,它存儲在運行時 ...
  • 1、創建WEBAPI 1 using Dapper; 2 using MesErp.Models; 3 using Microsoft.AspNetCore.Mvc; 4 using Microsoft.Extensions.Configuration; 5 using Newtonsoft.Jso ...
  • C#是一種強類型語言,可以捕獲和處理各種異常,從而幫助我們發現程式中出現的錯誤。在程式開發過程中,如果需要找到特定的錯誤情況並處理,這時就需要創建自定義異常。本文將介紹如何在C#中創建和使用自定義異常。 1、什麼是異常? 異常是指在程式執行期間發生的錯誤或異常情況,例如除法中除以0、文件不存在、記憶體 ...
  • 一:背景 1. 講故事 最近在分析一個 linux 上的 dump,最後的誘因是大量的lock鎖誘發的高頻上下文切換,雖然問題告一段落,但我還想知道一點信息,所謂的高頻到底有多高頻?鎖競爭到底是一個怎樣的鎖競爭? 如果瞭解這些信息對我們後續分析此類問題非常有幫助。 要想獲取此類信息,看 dump 肯 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...