110,536
社区成员
发帖
与我相关
我的任务
分享
public static string RSAEncrypt(string hexKey, string data)
{
Func<string, byte[]> hexToBytes = (s) =>
{
byte[] bytes = new byte[s.Length / 2];
for (int i = 0; i < bytes.Length; i++)
{
bytes[i] = Convert.ToByte(s[i*2] + "" + s[i*2 + 1], 16);
}
return bytes;
};
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
RSAParameters rsaParams = new RSAParameters()
{
Exponent = new byte[] { 1,0,1},
Modulus = hexToBytes(hexKey),
};
rsa.ImportParameters(rsaParams);
byte[] encrypted = rsa.Encrypt(Encoding.UTF8.GetBytes(data), false);
return BitConverter.ToString(encrypted).Replace("-", "");
}
}
static void Main(string[] args)
{
string key = "14112A2B2074D68E6EB78F42357FD257CEFDCF642D80A8E143BE25DDE8F971F9164DD7F3AA685B791F2E57B8193FC6A984542D4DCFA4AA1B382F51DBD31E43524A7D54A5261E07E69515FFD627640FDF20E7A268C88C7223145ABEE01F9E9A4149CF480D4B425C28AE5ED1958FCC9B97A119B855058088B4A98C36ED963DF2159FAC7B4541350A84C6826305AFF2E0B964115B72CB223EBCEED8D00092B5AD862DFE3A4A65B12CFABF597E65E1A4C4A184ABA96D33322DAE4A062359F132E0B228C6100E18B89485216B1DBEF2B095360356963BB334CE46DAEFF4760A98FE1EECA1C7B61DC6778D252C307A7B7AC184C1C3CA390E259FF20A93BB90C59DFED1";
string data = "02916F3E78E59E22D2EE1880069CD821admin123";
string secret = RSAEncrypt(key, data);
bool sameLength = key.Length == secret.Length; // true
}