Есть метод на C#
class Program
{
static void Main(string[] args)
{
string methodHash = "7c4d1f87d6a743b9ac20755578cc7596";
string publicKey = "<RSAKeyValue><Modulus>nGJJFh2iWU+WgJYfdZDeuunpqyKlbsuplMOfTG8iVE2HmrCcAwhLwIk3T/IVYl4pYEXqIwern2E2GJ+GbvuKgMsyuOY8Wh4EDCjBF/8ZNu4TFDyqRrAkpunYHTqsP5YHVfd3JL/x1kq2hOWiR3nnLwQoyYcfjt6OrmYHe9b2btM=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
Encryptor encryptor = new Encryptor();
string token = encryptor.EncryptRSA(methodHash, publicKey);
}
}
public class Encryptor
{
private static UnicodeEncoding _encoder = new UnicodeEncoding();
public string EncryptRSA(string data, string publicKey)
{
try
{
var rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(publicKey);
var dataToEncrypt = _encoder.GetBytes(data);
var encryptedByteArray = rsa.Encrypt(dataToEncrypt, false).ToArray();
var length = encryptedByteArray.Count();
var item = 0;
var sb = new StringBuilder();
foreach (var x in encryptedByteArray){
item++;
sb.Append(x);
if (item < length)
sb.Append(",");}
return sb.ToString();
} catch (Exception ex) { throw new RSAException(); }
}
class RSAException : Exception{ public RSAException() : base("RSA Encryption Error") { }}
}
То что должно выйти в итоге:
62,148,123,57,253,121,179,128,57,127,141,233,33,209,109,46,5,106,130,37,107,201,26,50,101,162,24,168,43,212,205,165,203,85,207,163,193,144,136,155,234,223,242,232,46,66,16,110,223,84,71,97,113,109,34,146,138,30,173,84,183,48,31,78,228,2,239,246,196,223,43,62,225,93,116,79,247,120,164,172,235,153,15,140,147,86,238,141,85,194,212,109,152,95,108,173,216,108,55,44,133,225,254,100,245,250,6,68,70,205,157,146,209,181,137,234,112,160,129,100,25,202,200,131,249,62,226,142
Мой метод, который не верно генерирует ключ, где и что я сделал не так?
include('RSA_XML.php');
$method = "tools/subscribe";
$hash_string = "123456789".$method;
$methodHash = md5($hash_string);
$rsa = new Crypt_RSA_XML();
$rsa->loadKeyfromXML($key_arr->PublicKey);
$encrypted = $rsa->encrypt($methodHash);
$bytearr = unpack('C*', $encrypted);
$key = implode(',',$bytearr);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я знакомлюсь с VK API, и воспользовался WebClient'ом для выполнения Get запросаВсё проходит гладко, но текст как и нужно, отображается на textbox'е в формате...
Допустим, есть программа и мне нужно в конце ее работы получить некоторую статистику
Недавно начал изучать wpf поэтому могу задавать достаточно глупые вопросыИтак есть DataGrid