using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;
using System.IO;
using System.Text.RegularExpressions;
namespace Report
{
public class ReportPathDecript
{
private static readonly byte[] Key3 = new byte[] { 0xA6, 0x3B, 0x9E, 0x14, 0x45, 0x5C, 0xB5, 0x55, 0x2B, 0x6E, 0xB7, 0x28, 0x2C, 0xD1, 0xC4, 0xB8 };
private static readonly byte[] Key4 = new byte[] { 0x4D, 0x7E, 0xD0, 0x6A, 0xBA, 0xB8, 0xCA, 0x37, 0x79, 0x54, 0x29, 0x71, 0xB0, 0xCB, 0x0D, 0x23 };
/// <summary>
/// 全院路径解密
/// </summary>
/// <param name="contents">加密路径</param>
/// <returns></returns>
public static string HSPSDecrypt(string contents)
{
if (isBase64(contents))
{
contents = AESDecrypt(contents, Key4, Key3);
return contents;
}
return contents;
}
private static bool isBase64(string str)
{
string base64Pattern = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$";
return Regex.IsMatch(str, base64Pattern);
}
public static string AESDecrypt(string contents, byte[] key, byte[] iv)
{
string result = string.Empty;
byte[] input = Convert.FromBase64String(contents);
byte[] tmp = new byte[input.Length];
Aes aes = Aes.Create();
aes.Padding = PaddingMode.ISO10126;
ICryptoTransform decryptor = aes.CreateDecryptor(key, iv);
using (MemoryStream ms = new MemoryStream(input))
{
using (CryptoStream cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
{
cs.Read(tmp, 0, tmp.Length);
result = Encoding.UTF8.GetString(tmp).Replace("\0", "");
}
}
aes.Clear();
return result;
}
}
}
上面是一段C#使用AES解密路径的一段语句,我想使用PB去调用 C#生成的COM,请问上面的语句如何修改能让我使用PB调用呢?
下面是我使用PB 调用的语句,我应该是输入一个加密路径,他会返回一条解密后的路径给我。
string c
int intValue
oleobject objOle
objOle=create OLEObject
intValue=objOle.connecttonewobject("Report.ReportPathDecript")
c=string(objOle.HSPSDecrypt('加密路径'))
messagebox("结果",c)
加密后路径:AWbksVAPWYIZlB0HnUJdpq+hvTJXLpkbbK9ltRt0amM9kuN6VGYMpc567jPpmGBq
解密后路径:2020-03-26\7ca71554-1b75-4bc2-80b6-8f0f30f8a32e
求教大神我该怎么写,我不会用C# ,如果可以的话您帮生成一下类库DLL 我直接注册COM组件使用是最好啦,谢谢^0^