mirror of
https://github.com/vrcx-team/VRCX.git
synced 2026-04-06 00:32:02 +02:00
33 lines
933 B
C#
33 lines
933 B
C#
using System;
|
|
using System.IO;
|
|
using System.Security.Cryptography;
|
|
using librsync.net;
|
|
|
|
namespace VRCX;
|
|
|
|
public partial class AppApi
|
|
{
|
|
public string MD5File(string blob)
|
|
{
|
|
var fileData = Convert.FromBase64CharArray(blob.ToCharArray(), 0, blob.Length);
|
|
using var md5 = MD5.Create();
|
|
var md5Hash = md5.ComputeHash(fileData);
|
|
return Convert.ToBase64String(md5Hash);
|
|
}
|
|
|
|
public string SignFile(string blob)
|
|
{
|
|
var fileData = Convert.FromBase64String(blob);
|
|
using var sig = Librsync.ComputeSignature(new MemoryStream(fileData));
|
|
using var memoryStream = new MemoryStream();
|
|
sig.CopyTo(memoryStream);
|
|
var sigBytes = memoryStream.ToArray();
|
|
return Convert.ToBase64String(sigBytes);
|
|
}
|
|
|
|
public string FileLength(string blob)
|
|
{
|
|
var fileData = Convert.FromBase64String(blob);
|
|
return fileData.Length.ToString();
|
|
}
|
|
} |