All checks were successful
Plugin Library CI / publish (00.BuildOriginality) (push) Successful in 13s
Plugin Library CI / publish (00.StaryEvo) (push) Successful in 17s
Plugin Library CI / publish (00.StaryEvoTools) (push) Successful in 35s
Plugin Library CI / publish (01.HybridCLR) (push) Successful in 15s
Plugin Library CI / publish (02.InformationSave) (push) Successful in 3s
Plugin Library CI / publish (03.YooAsset) (push) Successful in 33s
Plugin Library CI / publish (04.AudioCore) (push) Successful in 3s
Plugin Library CI / publish (05.TableTextConversion) (push) Successful in 5s
Plugin Library CI / publish (06.UIFarme) (push) Successful in 15s
Plugin Library CI / publish (07.RKTools) (push) Successful in 2s
Plugin Library CI / publish (08.UniTask) (push) Successful in 3s
Plugin Library CI / publish (09.CodeChecker) (push) Successful in 16s
Plugin Library CI / publish (10.StoryEditor) (push) Successful in 3s
Plugin Library CI / publish (10.XNode) (push) Successful in 3s
Plugin Library CI / publish (11.PointCloudTools) (push) Successful in 2s
Plugin Library CI / publish (12.WeixinMinigame) (push) Successful in 2m32s
33 lines
912 B
C#
33 lines
912 B
C#
#if WEIXINMINIGAME && TUANJIE_2022_3_OR_NEWER
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace WeChatWASM
|
|
{
|
|
public class WebMD5
|
|
{
|
|
|
|
[DllImport("__Internal", EntryPoint = "_WebMD5")]
|
|
private static extern void getMD5Bytes(IntPtr byteArray, int length, IntPtr result);
|
|
|
|
public static byte[] GetMD5Bytes(byte[] input)
|
|
{
|
|
var inputLength = input.Length;
|
|
var inputPtr = Marshal.AllocHGlobal(inputLength);
|
|
Marshal.Copy(input, 0, inputPtr, inputLength);
|
|
|
|
var resultPtr = Marshal.AllocHGlobal(16); // MD5 hash is 16 bytes
|
|
|
|
getMD5Bytes(inputPtr, inputLength, resultPtr);
|
|
|
|
byte[] result = new byte[16];
|
|
Marshal.Copy(resultPtr, result, 0, 16);
|
|
|
|
Marshal.FreeHGlobal(inputPtr);
|
|
Marshal.FreeHGlobal(resultPtr);
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
#endif |