123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using Microsoft.AspNetCore.Mvc;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp1.OCPPAuth
- {
- internal static class Signature
- {
- public static void Test()
- {
- string signature = GetSignature(
- timestamp: "1731561763",
- partnerid: "8456AED9-6DD9-4BF3-A94C-9F5DCB9506F7",
- saltkey: "gfdfgy!12",
- requestUrl: "http://ebus-coreapi.azurewebsites.net/api/v1/ocpp16/diagnostics?ChargeBoxId=AXLU111001D1P1ZERO&Location=https://buscharge.zerovatech.com/service/File/&StartTime=2024-11-14&StopTime=2024-11-14");
- }
- private static string GetSignature(string timestamp, string partnerid, string saltkey , string requestUrl = "", string requestBody = "")
- {
- string diplayUrl = requestUrl.Replace("%20", " ").Replace(@"\\", @"\");
- string tempText = diplayUrl.Substring(diplayUrl.IndexOf('?') + 1).ToLower();
- tempText = tempText.StartsWith("http") ? string.Empty : tempText;
- var body = $"{tempText}{requestBody}";
- var unencodeText = $"{body}{timestamp}{partnerid}{saltkey}".ToLower();
- var signature = GetSignature(unencodeText);
- return signature;
- }
- private static string GetSignature(string unencodeText)
- {
- if ((unencodeText == null) || (unencodeText.Length == 0))
- {
- return String.Empty;
- }
- unencodeText = unencodeText.ToLower();
- MD5 md5 = MD5.Create();// new MD5CryptoServiceProvider();
- byte[] textToHash = Encoding.UTF8.GetBytes(unencodeText);
- byte[] result = md5.ComputeHash(textToHash);
- return BitConverter.ToString(result).Replace("-", "").ToLower();
- }
- }
- }
|